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

ランダムな日付で行を更新する方法

    これを使用して、1900年1月1日から2079年6月6日までの間にsmalldatetimeを生成します(チェックされていない、SQLがインストールされていない)

    DATEADD(day, (ABS(CHECKSUM(NEWID())) % 65530), 0)
    

    NEWIDは、RANDを使用するよりも優れています。RANDは、単一のSELECTまたはUPDATEで異なる値の行を生成しません(動作が変更された場合、SQL 2000では生成されませんでした)。

    編集:このように

    UPDATE
      table
    SET
      datetimecol = DATEADD(day, (ABS(CHECKSUM(NEWID())) % 65530), 0)
    

    編集:65535を65530に変更し、範囲の上限でのオーバーフローを回避するためにABSを追加しました



    1. Oracleに複数の行を挿入する4つの方法

    2. Codeigniterで作成、更新、削除のクエリが成功したことを検出するにはどうすればよいですか?

    3. PHPを使用してチェックボックスを選択し、複数の行を削除します

    4. SQLネットワークインターフェイス、エラー:50-ローカルデータベースランタイムエラーが発生しました。自動インスタンスを作成できません