mysql - 如何获得两个时间范围之间的随机时间(不是日期)

jag*_*gku 4 mysql random time

我试图找出如何返回2个时间范围之间的随机时间.例如,获取15:00:00到22:00:00之间的随机时间

到目前为止,我有 - 但不知道如何限制它

select sec_to_time(floor(15 + (rand() * 86401)))
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!

fan*_*nts 8

SELECT SEC_TO_TIME(
          FLOOR(
             TIME_TO_SEC('15:00:00') + RAND() * (
                  TIME_TO_SEC(TIMEDIFF('22:00:00', '15:00:00'))
             )
          )
        );
Run Code Online (Sandbox Code Playgroud)

以秒计算.然后添加一个随机数是在之间秒的范围内15:00:0022:00:0015:00:00.然后将秒转换回时间值.

  • 有关已使用功能的更多信息,请参阅此链接.