1

可能重复:
在 MySQL 中插入/更新随机日期

如何在mysql中随机更改日期+- 5天?

UPDATE student SET date = date*(RAND()*-5,+5)
4

5 回答 5

2

SELECT 5 + ROUND(RAND()) * -10将给出5-5,您可以将其与DATE_ADD()函数结合使用。

于 2012-11-28T11:00:06.797 回答
1

试试这个:

UPDATE `student` SET `date` = DATE_ADD(`date`, INTERVAL ((1 - ROUND((RAND()))*2)*5) DAY)
于 2012-11-28T10:56:58.143 回答
0

以下查询输出随机日期 +-5 天后 (CURDATE())

select ADDDATE(CURDATE(), INTERVAL ROUND(RAND()*10)-5 DAY)
于 2012-11-28T10:56:11.350 回答
0

尝试这样的事情:

select case when (RAND()*10) >= 5 then date_add(<date_col>, INTERVAL 5 DAY)
            else date_add(<date_col>, INTERVAL -5 DAY)
            end
from <your_table>

SQL Fiddle 演示

你可以像这样更新你的表:

UPDATE student SET `date`=
 case when (RAND()*10) >= 5 then date_add(`date`, INTERVAL 5 DAY)
            else date_add(`date`, INTERVAL -5 DAY)
            end;
于 2012-11-28T10:57:18.243 回答
0
UPDATE student SET date = ADDDATE(date, INTERVAL ROUND((rand() * 9) - 4) DAY);
于 2012-11-28T11:00:34.660 回答