gpt4 book ai didi

mysql 选择范围内的日期时间对象

转载 作者:行者123 更新时间:2023-11-29 09:58:14 26 4
gpt4 key购买 nike

我有一个“约会”表,其中包含两个标记为“开始”和“结束”的日期时间字段。我还有本地时间的日期,该日期被转换为一整天的范围为 UTC(这是 SQL 表存储日期时间的方式)。我需要选择 00:00:00 到 08:00:00 UTC 之间的所有(业务)时间,这些时间也属于我的本地时间转换范围。

例如,PST(太平洋标准时间)的用户选择 2018 年 12 月 1 日。12 月 1 日 00:00:00 和 12 月 2 日 00:00:00 之间的日期将转换为 UTC,即 2018 年 12 月 1 日:00:00 至 12 月 2 日 08:00:00。我需要选择之前范围(12 月 1 日 - 12 月 2 日)内任意一天 00:00:00 到 8:00:00 之间的所有约会。

我的所有日​​期时间/查询均采用“yyyy-MM-dd HH:mm:ss”形式。

我知道我可以选择两个时间之间的所有时间,就像这样简单:

SELECT start, end 
FROM appointment
WHERE start>='2018-12-01 00:00:00'
AND end<='2018-12-02 08:00:00'

但我不确定如何将这些时间减少到仅在工作时间之间。

我正在寻找类似的东西

SELECT start, end 
FROM appointment
WHERE (start>='2018-12-01 00:00:00'
AND end<='2018-12-02 08:00:00')
AND (start.substring(11, start.end) >= '00:00:00'
AND end.substring(11, end.end) <= '08:00:00')

像 start.substring(11, start.end) 这样的调用将以“HH:mm:ss”格式返回时间

最佳答案

尝试使用TIME MySQL 中的函数。

SELECT start, end
FROM appointment
WHERE TIME(start) >= '00:00:00'
AND TIME(end) <= '08:00:00' AND ... //other conditions

关于mysql 选择范围内的日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53492674/

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