Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Sql заявка за генериране на дати за месечно плащане в рамките на период от време

Можете по следния начин:

DECLARE @SelectedDate DATETIME ='2016.01.30'SELECT DATEADD(DAY, -1 - (DAY(EOMONTH(@SelectedDate)) - DAY(@SelectedDate)), DATEADD(MONTH, v.m, DATEFROMPARTS(YEAR (@SelectedDate), 1, 1))) ОТ (СТОЙНОСТИ (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11), (12)) AS v(m) 

Колко дни остават до края на месеца. Броят намерени дни се премахва от другите месеци.

DAY(EOMONTH(@SelectedDate) (31) - ДЕН(@SelectedDate) (30) =оставащи дни (1)

Резултат:

<предварителен код>2016-01-302016-02-282016-03-302016-04-292016-05-302016-06-292016-07-302016-08-302016-09-292016-10-302016-11- 292016-12-30

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изтриване на събития от регистрационния файл на базата данни в SQL Server (T-SQL)

  2. Как работи функцията SPACE() в SQL Server (T-SQL)

  3. Използвайте RAND() в User Defined Function

  4. Има ли StartsWith или Contains в t sql с променливи?

  5. операцията не е разрешена, когато обектът е затворен, когато се изпълнява по-разширена заявка