sql >> Databasteknik >  >> RDS >> Sqlserver

Ordna ett datum i SQL-servern

Nyckeln är att använda DATEADD och DATEDIFF tillsammans med lämplig SQL-tidsuppräkning.

declare @datetime datetime;
set @datetime = getdate();
select @datetime;
select dateadd(year,datediff(year,0,@datetime),0);
select dateadd(month,datediff(month,0,@datetime),0);
select dateadd(day,datediff(day,0,@datetime),0);
select dateadd(hour,datediff(hour,0,@datetime),0);
select dateadd(minute,datediff(minute,0,@datetime),0);
select dateadd(second,datediff(second,'2000-01-01',@datetime),'2000-01-01');
select dateadd(week,datediff(week,0,@datetime),-1); --Beginning of week is Sunday
select dateadd(week,datediff(week,0,@datetime),0); --Beginning of week is Monday

Observera att när du golvbelägger med tvåan, kommer du ofta att få ett aritmetiskt överflöde om du använder 0. Välj därför ett känt värde som garanterat är lägre än datum och klockslag du försöker golva.



  1. Skapa en Schema Bound View i SQL Server

  2. Hur man lägger till administratörsservern i R12.2

  3. Importera data från Excel-kalkylblad eller CVS till MySQL

  4. Infogar aktuellt datum och tid i SQLite-databasen