一尘不染

在MySQL中插入/更新随机日期

mysql

如何使用MySQL在过去2周中使用随机日期更新列?

例如(代码实际上不起作用):

UPDATE mytable
SET col = sysdate() - rand(1, 14);

阅读 438

收藏
2020-05-17

共1个答案

一尘不染

您可以使用以下表达式获得随机整数:

要获得i <= R <j范围内的随机整数R,请使用表达式 FLOOR(i + RAND() * (j - i)) 。例如,要获得7 <= R
<12范围内的随机整数,可以使用以下语句:

SELECT FLOOR(7 + (RAND() * 5));

http://dev.mysql.com/doc/refman/5.1/en/mathematical-
functions.html

使用它来生成随机数的天,小时或分钟(取决于分辨率),并将该数字添加到当前日期。完整的表达将是这样的:

SELECT NOW() - INTERVAL FLOOR(RAND() * 14) DAY;
2020-05-17