我不熟悉SQLite.有人可以帮助我生成随机日期时间值吗?
我试着从这开始(它用于MS-SQL):
select dateadd(
millisecond,
cast(86400000 * RAND() as int),
convert(time, '00:00')
);
Run Code Online (Sandbox Code Playgroud)
但是sqlite返回错误:invalid column millisecond
.
我需要一些东西,它允许生成具有指定最小和最大日期的随机日期时间,但是现在我认为只需要知道如何将数字转换为日期.
我使用SQLite版本3.7.15.1.
该random()
函数生成随机64位整数.带参数
的strftime()
函数'%s'
将日期/时间字符串转换为自1970年以来的秒数.带修饰符
的datetime()
函数'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');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1441 次 |
最近记录: |