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 回答