如何解决我的 SQL 不会在 UTC
我确实在显示项目时遇到问题。我有两个不同的时间(它们是 UTC)。
例如:startTime - 15:00:00(UTC 时间)和 cutOffTime - 03:00:00(UTC 时间,应该是第二天早上 3 点 UTC)。我当地的时区是 EST。我遇到的问题是在第二天从 UTC 开始的晚上 8 点(东部标准时间)之后。我的项目不显示。这是我的 sql 查询。我正在从 table2 中提取 startTime 和 cutOffTime。我的服务器也是 UTC。
SELECT a.id,a.column1,a.catID,b.startTime,b.cutOffTime,IFNULL(b.`column2`,'everyday') as 'availableDays'
FROM table1 a
RIGHT JOIN table2 b on a.catID = b.catID
WHERE id = 012
and CASE WHEN b.startTime IS NOT NULL THEN CONCAT(CURDATE(),' ',b.startTime) < NOW() ELSE 1 END
and CASE WHEN b.cutOffTime IS NOT NULL THEN If((b.startTime is not NULL AND b.cutOffTime < b.startTime),DATE_ADD(CONCAT(CURDATE(),b.cutOffTime),INTERVAL 24 HOUR),CONCAT(CURDATE(),b.cutOffTime)) > NOW() ELSE 1 END
HAVING availableDays in ('everyday','wednesday')
Order by a.column1 ASC;
我的table2是这样的:
catID Cat startTime cutOffTime
1. Test 15:00:00 03:00:00
2. Test2 null null
3. Test3 15:00:00 null
假设现在是美国东部标准时间晚上 8:30(UTC 时间 00:30:00),那么我希望得到所有结果。现在,它只返回我 2 和 3。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。