sql >> Database >  >> RDS >> Sqlserver

DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) Kan iemand mij dit uitleggen?

dit geeft je de eerste van de maand voor een bepaalde datum

inner selectselect DATEDIFF(MONTH, 0, GETDATE()) geeft het aantal maanden vanaf 01-01-01

hier is het 1350

dit wordt toegevoegd aan 1900-01-01 , maar alleen de maanden

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

dat is het begin van de huidige maand.

Ik denk dat dit de meest efficiënte manier is om het begin van een maand voor een bepaalde datum te vinden.



  1. MaxScale Basic Management MaxCtrl gebruiken voor MariaDB Cluster - deel twee

  2. MySQL PHP-groep per dag en totaal voor elke dag

  3. Hoe de applicatienaam in een Postgresql JDBC-url in te stellen?

  4. Door de gebruiker gedefinieerde variabele als alias MySQL v8.0 werkt niet