心血来潮,想在数据表里面随机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

Logo

更多推荐