使用范围内不同的随机日期时间更新每一行

cbwuti44  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(321)

这里的问题是
使用两个日期之间的随机日期时间更新每一行
以相同的日期时间更新。
我需要的是在一个范围内用不同的随机日期时间更新每一行。

pes8fvy9

pes8fvy91#

使用:

strftime('%s', enddate) - strftime('%s', startdate)

你可以得到两个日期时间之间的秒差。
使用:

abs(random() % (strftime('%s', enddate) - strftime('%s', startdate) + 1))

可以得到一个随机整数,大于或等于 0 ,小于或等于以秒为单位的两个日期时间之间的差。
您可以将此随机秒数添加到范围的开始日期,以在该范围内创建随机日期时间:

update tablename 
set datecol = datetime(
  startdate, 
  abs(random() % (strftime('%s', enddate) - strftime('%s', startdate) + 1)) || ' second'
)
``` `datecol` 是表中的日期列 `startdate` 以及 `enddate` 是你活动范围的边界。

相关问题