大家好我想在星期一上午10点到星期二上午7点之间编写一个排除任何CHECKIN_DATE
(TIMESTAMP)的查询。我发现了两个有趣的函数DAYOFWEEK
和HOUR
,遗憾的是我不知道如何编写它,这是我目前处理查询的地方
SELECT * FROM LIST_CHECKIN_AUDIT
WHERE DOCUMENT_TYPE = 'DABL'
AND CHECKIN_DATE BETWEEN (DAYOFWEEK(CHECKIN_DATE) = '2' AND HOUR(CHECKIN_DATE) = '9') AND (DAYOFWEEK(CHECKIN_DATE = '2' AND HOUR(CHECKIN_DATE = '7')
提前致谢!
答案 0 :(得分:1)
如果您尝试排除 CHECKIN_DATE在星期一上午10点到星期二上午7点之间的任何记录,那么我认为以下内容适合您。
SELECT *
FROM LIST_CHECKIN_AUDIT
WHERE DOCUMENT_TYPE = 'DABL'
AND (DAYOFWEEK(CHECKIN_DATE) <= 2 AND HOUR(CHECKIN_DATE) <= '9'))
OR (DAYOFWEEK(CHECKIN_DATE) >= 3 AND HOUR(CHECKIN_DATE) >= '7'))