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

update every row with a different random datetime of a range

这里问的问题是

使用相同的日期时间进行更新。

我需要用范围内的不同随机日期时间更新每一行。

有:

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

您可以获得 2 个日期时间之间的秒数差异。
有:

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 是 table
中的日期列 startdateenddate 是您的范围的边界。