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

DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) Kan nogen forklare mig dette

dette vil give dig den første i måneden for en given dato

indre vælgselect DATEDIFF(MONTH, 0, GETDATE()) vil give antal måneder fra 1900-01-01

her er det 1350

dette vil blive tilføjet til 1900-01-01, men kun månederne

select DATEADD(MONTH,1350,0) vil give 2012-07-01 00:00:00.000

som er starten på den aktuelle måned.

Jeg tror, ​​at dette er den mest effektive måde at finde starten på en måned for en given dato.



  1. Kan MySql 5.0 have en visning af en tabel placeret på en anden server

  2. SQL en nummereringskolonne - MySQL

  3. Tilfældig værdi for kolonnen DATETIME

  4. Hvorfor mislykkes min ODBC-forbindelse, når jeg kører en SSIS-indlæsning i Visual Studio, men ikke når den samme pakke kører med Execute Package Utility