sql >> Database teknologi >  >> RDS >> Sqlserver

Antal dage tilbage i den aktuelle måned

Da dette er sql-server 2008, kan du ikke bruge EOMonth (som blev introduceret i 2012-versionen).
Du skal lave nogle datotilføjelser og datoforskelle:

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

forklaringer:
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE()) får den første dag i den aktuelle måned, indpakningen DATEADD tilføjer en måned, og indpakningen DATEDIFF returnerer antallet af dage mellem den aktuelle dato og den første dato i den næste måned. Det er derfor, du skal trække 1 fra for at få det korrekte antal dage.



  1. mysql lagret procedure med INTO OUTFILE

  2. En eksplicit værdi for identitetskolonnen i tabellen kan kun angives, når der bruges en kolonneliste, og IDENTITY_INSERT er PÅ SQL Server

  3. Bestil efter dato ASC med Spring Data

  4. Database muligheder/pakker brugsrapportering