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

Thêm mili giây vào DateTime trong TSQL INSERT INTO

Tôi nghĩ vấn đề thực sự là RFQ_ID, Action_Time không nên là khóa chính. Tạo đại diện khóa chính và đặt một chỉ mục không phải là duy nhất trên RFQ_ID, Action_Time .

Cập nhật :Nếu bạn thực sự muốn gắn bó với thiết kế hiện có của mình, bạn có thể làm những gì bạn yêu cầu nhưng sử dụng 10 mili giây thay vì một mili giây giữa mỗi hàng, để bù cho độ chính xác thấp của ngày giờ. Bạn có thể sử dụng số hàng để xác định số mili giây cần thêm để bạn nhận được dấu thời gian khác nhau cho mỗi hàng:

INSERT INTO QSW_RFQ_Log
(RFQ_ID, Action_Time, Quote_ID, Note)
SELECT
  RFQ_ID,
  DATEADD(millisecond, 10 * ROW_NUMBER() OVER (ORDER BY Quote_ID), GETDATE()) AS Action_Time,
  Quote_ID,
  'Added to RFQ on Initialization' AS Note
FROM QSW_Quote


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn Bản ghi nhiều lần từ bảng

  2. Cách cài đặt SQL Server trên máy Mac

  3. Làm thế nào tôi có thể truy xuất tất cả nhân viên có tuổi sẽ là 21 trong thời gian một tháng?

  4. Chuyển đổi số nguyên thành hex và hex thành số nguyên

  5. Kết hợp cột varchar với cột int