MYSQL减去天和秒

时间:2011-09-27 12:39:40

标签: mysql sql datetime

问候所有

我更新了我的字段'createdOn'datetime字段,以便随机保存最近7天的值,如下所示:

UPDATE posts
   SET createdOn
     = DATE_SUB(DATE(NOW()), INTERVAL ROUND(RAND()*7) DAY)

虽然这给了我需要的随机日期,但小时,分钟和秒不是随机的,就像00:00:00。如何在上面包括随机小时,分钟和秒? 过去七天内的独特小时,分钟和秒数会更好。

感谢你

2 个答案:

答案 0 :(得分:1)

这是过去七天随机小时,分钟和秒钟的示例 -

UPDATE posts
  SET createdOn = DATE(NOW()) - INTERVAL FLOOR(RAND() * 604800) SECOND;

604800 = 60秒* 60分钟* 24小时* 7天。

答案 1 :(得分:1)

您将NOW()转换为DATE,这将删除时间部分,并将其强制为00:00:00。也许在RAND()上再做一次TIME(NOW())并将它们加在一起。