sql >> データベース >  >> RDS >> Sqlserver

TSQL INSERT INTO で DateTime にミリ秒を追加する

    本当の問題は RFQ_ID, Action_Time だと思います 主キーであってはなりません。 代理 を作成する 主キーを作成し、RFQ_ID, Action_Time に一意でないインデックスを配置します .

    更新 :既存の設計に本当に固執したい場合は、要求したことを行うことができますが、datetime の精度の低さを補うために、各行の間に 1 ミリ秒ではなく 10 ミリ秒を使用します。行番号を使用して追加するミリ秒数を決定し、行ごとに異なるタイムスタンプを取得できます。

    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. SQL:XMLデータ型の属性の値を取得するにはどうすればよいですか?

    2. データを特定の色にフォーマットする

    3. Spring Boot JPA:ライブラリを使用してMySQLのデータを一括ロードする

    4. Oracleで日時値から秒数を返す方法