Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tầng một ngày trong máy chủ SQL

Chìa khóa là sử dụng DATEADD và DATEDIFF cùng với kiểu liệt kê khoảng thời gian SQL thích hợp.

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

Lưu ý rằng khi bạn xếp sàn đến giây thứ hai, bạn sẽ thường bị tràn số học nếu bạn sử dụng 0. Vì vậy, hãy chọn một giá trị đã biết được đảm bảo thấp hơn ngày giờ bạn đang cố gắng xếp sàn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật tài khoản thư cơ sở dữ liệu trong SQL Server (T-SQL)

  2. Tạo một trình kích hoạt “Thay thế cho” trong SQL Server

  3. Làm cách nào để tải tệp XML vào cơ sở dữ liệu bằng gói SSIS?

  4. Lưu trữ hình ảnh trong SQL Server?

  5. Truy vấn SELECT với điều kiện CASE và SUM ()