sql >> Databáze >  >> RDS >> Sqlserver

DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) Může mi to někdo vysvětlit

tím získáte první den v měsíci pro dané datum

inner selectselect DATEDIFF(MONTH, 0, GETDATE()) uvede počet měsíců od 1900-01-01

tady je 1350

toto bude přidáno k 1900-01-01 , ale pouze měsíce

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

což je začátek aktuálního měsíce.

Myslím, že toto je nejefektivnější způsob, jak najít začátek měsíce pro dané datum.



  1. Budou všechny vložky provedené při použití LOAD DATA INFILE vráceny zpět, pokud selže?

  2. kopírování do dočasné tabulky trvá dlouho

  3. Pomalý start MySQL v režimu GTID? Problémem může být velikost binárního souboru protokolu

  4. Jak vytvořit složený cizí klíč v SQL Server (příklad T-SQL)