mysql 取某个范围内随机日期

SELECT FLOOR(7 + (RAND() * 6));     取7到12的随机整数,包括7到12

SELECT FLOOR(12+(rand()*13));   取12到24的随机整数,包括12到24

LPAD(FLOOR(0 + (RAND() * 23)),2,0)  取0-24之间的随机数,不够2位的前补0

如需要改成的时间格式为 : 2015-11-25 07:43:11

给用户赋一个随机创建日期,年份为2015-2015

select concat( CONCAT(FLOOR(2015 + (RAND() * 1)),'-',LPAD(FLOOR(10 + (RAND() * 2)),2,0),'-',LPAD(FLOOR(1 + (RAND() * 25)),2,0)))

结果:2015-11-15

select CONCAT(LPAD(FLOOR(0 + (RAND() * 23)),2,0),':',LPAD(FLOOR(0 + (RAND() * 59)),2,0),':',LPAD(FLOOR(0 + (RAND() * 59)),2,0))

结果:20:57:10

拼好之后,再写update语句就可以了

在做客户评论的时候需要将评论的创建时间改为某个范围的随机时间,语句如下:

update 'review' set 'created_at'= concat( CONCAT(FLOOR(2015 + (RAND() * 1)),'-',LPAD(FLOOR(10 + (RAND() * 2)),2,0),'-',LPAD(FLOOR(1 + (RAND() * 25)),2,0)),' ',CONCAT(LPAD(FLOOR(0 + (RAND() * 23)),2,0),':',LPAD(FLOOR(0 + (RAND() * 59)),2,0),':',LPAD(FLOOR(0 + (RAND() * 59)),2,0)))  WHERE 1

即可实现。

 

posted @ 2015-11-25 08:52  _DongGe  阅读(1654)  评论(0编辑  收藏  举报