如何获得前两个月的时间?

时间:2012-12-27 16:45:41

标签: mysql

我将使用 DATE_ADD ,现在如果我想从2012-10-1到现在获得兰特时间,我该怎么办?时间格式:2012-12-01 00:32:01

   created=DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD(
         NOW(), 
         INTERVAL 1 YEAR),
         INTERVAL 11*RAND() MONTH),
         INTERVAL 30*RAND() DAY),
         INTERVAL 23*RAND() HOUR),
         INTERVAL 59*RAND() MINUTE),
         INTERVAL 60*RAND() SECOND)

当我使用上面的代码时,它得到的时间不是我想要的。谢谢。如何纠正它?

例如:30*RAND(3)价值是多少?

2 个答案:

答案 0 :(得分:0)

FROM_UNIXTIME(UNIX_TIMESTAMP('2012-10-01') + (RAND() * (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP('2012-10-01'))), '%Y-%m-%d %H:%i:%s')

我想应该这样做。

可以找到here的功能。

答案 1 :(得分:0)

试试这个

SET @MIN = '2010-04-30 14:53:27';
SET @MAX = '2012-04-30 14:53:27';
SELECT TIMESTAMPADD(SECOND, FLOOR(RAND() * TIMESTAMPDIFF(SECOND, @MIN, @MAX)), @MIN);