心血来潮,想在数据表里面随机Mock一批数据测试一下我的程序,但是得有一个日期字段是不一样的,那怎么随机生成日期呢?
直接上SQL:
select date(from_unixtime(
unix_timestamp('2017-01-01')
+ floor(
rand() * ( unix_timestamp('2018-08-08') - unix_timestamp('2017-01-01') + 1 )
)
)) as date;
随机生成从 2017-01-01 到 2018-08-08 的日期。floor函数范围 0 <= v < 1.0,日期函数可参照这个有趣的网站,还录制了小视频的教程:MySQL FROM_UNIXTIME() function
MySQL官网:
https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_rand
本文介绍了一种在SQL中生成指定范围内随机日期的方法,通过使用from_unixtime和unix_timestamp函数结合rand函数,可以轻松实现从特定起始日期到结束日期之间的随机日期生成,适用于数据表的测试数据填充。
273





