Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Liczba dni pozostałych w bieżącym miesiącu

Ponieważ jest to serwer sql 2008, nie możesz używać EOMonth (który został wprowadzony w wersji 2012).
Musisz dodać i zmienić datę:

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

objaśnienia:
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE()) pobiera pierwszy dzień bieżącego miesiąca, opakowanie DATEADD dodaje jeden miesiąc, a opakowanie DATEDIFF zwraca liczbę dni między bieżącą datą a pierwszą datą następnego miesiąca. Dlatego musisz odjąć 1, aby uzyskać prawidłową liczbę dni.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SPRAWDŹ OGRANICZENIE na wielu kolumnach

  2. Przekształcanie parametru wielowartościowego w tabelę tymczasową w SQL Server Business Intelligence Development Studio

  3. SQL:pisz tylko na pierwszą literę

  4. Wskazówki dotyczące korzystania z SQL Server z Salesforce

  5. Funkcja agregująca sql do uzyskania listy