Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menambahkan milidetik ke DateTime di TSQL INSERT INTO

Saya pikir masalah sebenarnya adalah RFQ_ID, Action_Time seharusnya tidak menjadi kunci utama. Buat pengganti kunci utama dan letakkan indeks non-unik pada RFQ_ID, Action_Time .

Perbarui :Jika Anda benar-benar ingin tetap menggunakan desain yang ada, Anda dapat melakukan apa yang Anda minta tetapi menggunakan 10 milidetik alih-alih satu milidetik di antara setiap baris, untuk mengimbangi rendahnya presisi datetime. Anda dapat menggunakan nomor baris untuk menentukan berapa milidetik yang akan ditambahkan sehingga Anda mendapatkan stempel waktu yang berbeda untuk setiap baris:

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. Bagaimana saya harus meneruskan nama tabel ke proc yang disimpan?

  2. SQL Query Where Column ='' mengembalikan karakter Emoji dan

  3. Kesalahan dalam memilih data dari tabel di SQL Server

  4. unpivot dengan kolom dinamis ditambah nama kolom

  5. PHP, ORM, MSSQL dan Unicode, apakah mungkin untuk membuat ini bekerja bersama?