sql >> Database >  >> RDS >> Sqlserver

Aantal resterende dagen in de huidige maand

Aangezien dit sql server 2008 is, kunt u EOMonth niet gebruiken (dat werd geïntroduceerd in de 2012-versie).
U moet een aantal datumtoevoegingen en datumafwijkingen doen:

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

uitleg:
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE()) krijgt de eerste dag van de huidige maand, de verpakking DATEADD voegt een maand toe, en de verpakking DATEDIFF geeft het aantal dagen terug tussen de huidige datum en de eerste datum van de volgende maand. Daarom moet je 1 aftrekken om het juiste aantal dagen te krijgen.



  1. performant ordenen van sleutels in een MySQL samengestelde index (WRT Rails Polymorphic Associations en STI)

  2. ORA-01830:datumformaatafbeelding eindigt voordat de volledige invoerreeks wordt geconverteerd / Selecteer som waar datumquery

  3. MySQL-datumvergelijkingsfilter

  4. LEFT JOIN vs. LEFT OUTER JOIN in SQL Server