gpt4 book ai didi

SQLite - 在范围内选择随机日期时间

转载 作者:行者123 更新时间:2023-12-03 17:40:33 25 4
gpt4 key购买 nike

我不熟悉 SQLite。有人可以帮我生成随机日期时间值吗?

我试着从这个开始(它用于 MS-SQL):

select dateadd(
millisecond,
cast(86400000 * RAND() as int),
convert(time, '00:00')
);

但是 sqlite 返回错误:invalid column millisecond

我需要一些东西,它允许生成具有指定最小和最大日期的随机日期时间,但现在我认为只需要知道如何将数字转换为日期

我使用的是 SQLite 版本 3.7.15.1。

最佳答案

random() function生成随机 64 位整数。
strftime() function使用 '%s' 参数将日期/时间字符串转换为自 1970 年以来的秒数。
datetime() function使用 'unixepoch' 修饰符将秒数转换为日期/时间字符串。

要将随机整数转换为所需的秒数范围,请使用取模运算符 (%),将最小/最大日期之间的秒数差作为范围,并将其添加到开始日期.例如,以下将在 2000 年 1 月生成一个随机时间戳:

SELECT datetime(strftime('%s', '2000-01-01 00:00:00') +
abs(random() % (strftime('%s', '2000-01-31 23:59:59') -
strftime('%s', '2000-01-01 00:00:00'))
),
'unixepoch');

关于SQLite - 在范围内选择随机日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14202944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com