0

created列にランダムな時間値を設定したい、例えば:

UPDATE review  set created=now()-rand(1,30)

しかし、うまくいきcreated=now()-rand(1,30)ません。それを修正する方法は?

4

1 に答える 1

6

DATE_ADD または DATE_SUB を使用する必要があります。

このようなもの:

UPDATE
   review
SET
   created = DATE_ADD(NOW(), INTERVAL (24*RAND()) HOUR)

日付と時刻の関数の使用方法については、リファレンスを確認してください。

これは、25 年前から始まるランダムな日付を生成する、より複雑な例です。

UPDATE 
    review
SET
    created =
      DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD(
         NOW(), 
         INTERVAL (-24*RAND())-1 YEAR),
         INTERVAL 11*RAND() MONTH),
         INTERVAL 30*RAND() DAY),
         INTERVAL 23*RAND() HOUR),
         INTERVAL 59*RAND() MINUTE),
         INTERVAL 60*RAND() SECOND)
于 2012-04-07T08:18:00.407 に答える