首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何生成随机unix时间戳mysql

如何生成随机unix时间戳mysql
EN

Stack Overflow用户
提问于 2013-01-07 22:36:09
回答 2查看 2.4K关注 0票数 4

我试图生成随机的unix时间戳,并且只找到了以下示例:

代码语言:javascript
复制
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标记形式出现的。就这样。我不明白为什么还没有关于这件事的帖子。

编辑ok salman A

好的,假设我需要在1354439504到1357599297之间随机选择一个日期,我如何在mysql脚本中做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2013-01-07 22:41:08

1是UNIX时间戳。2也是。123456789也是。UNIX时间戳只是一个整数,可以使用生成随机整数的规则。在MySQL中,您可以编写以下代码来生成范围内的随机整数( [0, 9] )

代码语言:javascript
复制
SELECT FLOOR(RAND() * 10)

可以对上述内容进行修改,以在[min, max]范围内生成随机数,如下所示:

代码语言:javascript
复制
SELECT 1354439504 + FLOOR(RAND() * (1357599297 - 1354439504 + 1))

若要使用查询生成1000个随机时间戳,请使用具有多行的表、任意表:

代码语言:javascript
复制
SELECT 1354439504 + FLOOR(RAND() * (1357599297 - 1354439504 + 1))
FROM table_with_1000plus_rows
LIMIT 1000
票数 7
EN

Stack Overflow用户

发布于 2013-01-07 22:39:14

如果您想要unix时间戳,那么只需跳过from_unixtime

代码语言:javascript
复制
select unix_timestamp('2008-01-01 01:00:00')+floor(rand()*31536000)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14205313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档