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

Cách thêm trường ngày giờ với trường thời gian

DECLARE @d DATETIME = '2013-02-18T18:34:40.330',
        @t TIME(7)  = '00:11:00.0000000';

SELECT EndDate = DATEADD(SECOND, DATEDIFF(SECOND, 0, @t), @d);

Kết quả:

EndDate
-----------------------
2013-02-18 18:45:40.330

Bây giờ, bạn thực sự không nên lưu trữ khoảng thời gian trong một time cột. time được dùng để đại diện cho một thời điểm , không phải là thời lượng . Điều gì xảy ra khi khoảng thời gian> =24 giờ? Bạn nên lưu trữ thời gian bắt đầu và thời gian kết thúc của một sự kiện (những thứ đó thường ít nhất có liên quan như thời lượng) và bạn luôn có thể tính toán thời lượng từ những thời điểm đó.



  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ử dụng SqlCommand, cách thêm nhiều tham số vào đối tượng của nó, chèn qua winform trong bảng sql

  2. Đối với giao dịch không cần tài khoản rẻ hơn / nhanh hơn:COMMIT hay ROLLBACK?

  3. Tạo bảng tạm thời với sql động trong SQL Server 2008

  4. Trước tiên, ánh xạ các khóa tổng hợp bằng mã EF

  5. TSQL chọn một hoặc nhiều hàng để tham gia