我正在尝试生成随机的unix时间戳,并且只找到了这个例子:
SELECT from_unixtime(
unix_timestamp('2008-01-01 01:00:00')+floor(rand()*31536000)
);
这适用于生成随机时间,但它会将时间重新转换为格式2008-06-16 14:14:38
,而不我想要的格式。我希望结果是一个unix时间戳,例如UTC-5中的1357597694
。
我想要做的就是告诉它要吐出多少个unix时间戳,结果是unixtime标签形式。就这样。我不明白为什么没有关于此的帖子。
EDITED 好的萨尔曼A
好吧,我可以说我需要在1354439504&之间选择一个随机日期。 1357599297我将如何在mysql脚本中执行此操作
答案 0 :(得分:6)
1是UNIX时间戳。所以是2.所以是123456789. UNIX timestamp只是一个整数;并且可以使用生成随机整数的规则。在MySQL中,您只需编写以下内容即可生成[0, 9]
范围内的随机整数:
SELECT FLOOR(RAND() * 10)
可以修改上述内容以生成[min, max]
范围内的随机数,如下所示:
SELECT 1354439504 + FLOOR(RAND() * (1357599297 - 1354439504 + 1))
要使用查询生成1000个随机时间戳,请使用包含许多行的表,任何表:
SELECT 1354439504 + FLOOR(RAND() * (1357599297 - 1354439504 + 1))
FROM table_with_1000plus_rows
LIMIT 1000
答案 1 :(得分:5)
如果您想要一个unix时间戳,那么只需跳过from_unixtime
:
select unix_timestamp('2008-01-01 01:00:00')+floor(rand()*31536000)