Datetime 如何将现有日期更新为范围内的随机日期?
在我的一个表中,我有一个datetime字段,其中表列中的数据填充有类似“Datetime 如何将现有日期更新为范围内的随机日期?,datetime,random,Datetime,Random,在我的一个表中,我有一个datetime字段,其中表列中的数据填充有类似“2016-01-07 01:33:00”的内容 我想做的是只将日期更改为范围(即:2016-02-01至2016-02-28)内的随机日期,而不更改时间。最终结果可能是“2016-02-13 01:33:00” 什么mysql命令将完成此任务?在MsSQL中,它可能是: 选择dateadd(day,强制转换((RAND()*30)为int),getdate()) 用输入日期替换getdate()。 (RAND()*30)用
2016-01-07 01:33:00
”的内容
我想做的是只将日期更改为范围(即:2016-02-01至2016-02-28
)内的随机日期,而不更改时间。最终结果可能是“2016-02-13 01:33:00
”
什么mysql命令将完成此任务?在MsSQL中,它可能是:
选择dateadd(day,强制转换((RAND()*30)为int),getdate())
用输入日期替换getdate()。
(RAND()*30)用于随机生成最多30天的天数。类似
UPDATE someTable SET someDate = DATE_ADD(
someDate,
INTERVAL
DATEDIFF(rangeStart, someDate) +
ROUND(RAND()*DATEDIFF(rangeEnd, rangeStart))
DAY
);
其中someTable.sometate
是您现有的数据,rangeStart
和rangeEnd
是您目标日期范围的边界
在这里,您选择初始日期,向其添加足够的天数以达到范围开始,然后进一步添加不超过目标范围内天数的随机天数