Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Piętro data w serwerze SQL

Kluczem jest użycie DATEADD i DATEDIFF wraz z odpowiednim wyliczeniem zakresu czasu SQL.

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

Zwróć uwagę, że gdy ustawiasz piętro co sekundę, często otrzymasz przepełnienie arytmetyczne, jeśli użyjesz 0. Wybierz więc znaną wartość, która na pewno będzie niższa niż data i godzina, w której próbujesz wyrównać.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Słaba wydajność planu wykonania procedury składowanej w SQL - podsłuchiwanie parametrów

  2. Jak naprawić komunikat o błędzie 7325 w programie SQL Server:„Obiekty eksponujące kolumny z typami CLR nie są dozwolone w kwerendach rozproszonych”

  3. Przekroczenie limitu czasu zapytania po wykonaniu z sieci, ale superszybkie po wykonaniu z SSMS

  4. Wskazówki dotyczące naprawiania fragmentacji indeksu SQL Server

  5. Jak zmienić kolor i czcionki w SQL Server Management Studio (SSMS) — samouczek SQL Server / TSQL, część 12