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

Брой оставащи дни от текущия месец

Тъй като това е sql сървър 2008, не можете да използвате EOMonth (който беше въведен във версия 2012).
Трябва да направите някои добавяния и разлики на дати:

SELECT DATEDIFF(DAY, 
                GETDATE(),
                DATEADD(MONTH, 
                        1, 
                        DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE()) 
                       ) 
               ) - 1 

обяснения:
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE()) получава първия ден от текущия месец, обвивката DATEADD добавя един месец и обвивката DATEDIFF връща броя на дните между текущата дата и първата дата на следващия месец. Ето защо трябва да извадите 1, за да получите правилния брой дни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. уникален ключ, базиран на 2 колони в SQl Server 2008?

  2. Преобразуване между типове данни за дата и час в SQL Server (примери за T-SQL)

  3. Търсене в SQL Management Studio 2005

  4. как да получите достъп до localDB от Windows Service

  5. SQL Server рекурсивно самостоятелно присъединяване