Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Задайте дата в SQL сървър

Ключът е да използвате DATEADD и DATEDIFF заедно с подходящото изброяване на времевия интервал на 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

Обърнете внимание, че когато запълвате до секунда, често ще получите аритметично препълване, ако използвате 0. Така че изберете известна стойност, която гарантирано ще бъде по-ниска от датата и часа, в която се опитвате да направите дъно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мониторинг на изпълняваните заявки на SQL Server

  2. LIMIT 10..20 в SQL Server

  3. Какво е изчислена колона в SQL Server?

  4. Трябва ли да се декларира скаларна променлива @Id?

  5. newid() вътре в sql сървърната функция