SQL MariaDB中日期范围和时间范围之间的查询
SQL Query between a date range and a time range in MariaDB
我在编写此查询以提供任何结果时遇到问题。我也在使用 MariaDB。
SELECT CallDate AS Week_Of, AgentName,
COUNT(*) AS TOTAL_Calls,
SUM(case when Accepted = 'ANSWERED' then 1 ELSE 0 END) AS Answered,
SUM(case when Accepted = 'NO ANSWER' then 1 ELSE 0 end) AS NoAnswer
FROM jshou_custom.afterhours
WHERE CallDate >= DATE_ADD(NOW(), INTERVAL -1 WEEK)
AND TIME(CallDate) BETWEEN '17:00:00' AND '08:00:00'
GROUP BY AgentName
DATE_ADD 子句工作得很好,并在该时间间隔内给出结果,但只要我在 TIME 函数中添加,结果中就不会返回任何内容。 CallDate 格式是 2021-09-21 HH:MM:SS
我也尝试过使用 HOUR 代替 TIME,但它也 returns 没有。
我正在尝试从 DATE_ADD 子句中指定的范围内的任何一天提取呼叫。只要在 1700 到 0800 之间(下班后电话)。
我认为您需要像这样检查两个日期并调整每个日期使用的时间
WHERE
(CallDate > DATE_ADD(CURDATE(), INTERVAL -7 DAY) AND TIME(CallDate) > '17:00:00')
OR
(CallDate > DATE_ADD(CURDATE(), INTERVAL -6 DAY) AND TIME(CallDate) < '08:00:00')
我在编写此查询以提供任何结果时遇到问题。我也在使用 MariaDB。
SELECT CallDate AS Week_Of, AgentName,
COUNT(*) AS TOTAL_Calls,
SUM(case when Accepted = 'ANSWERED' then 1 ELSE 0 END) AS Answered,
SUM(case when Accepted = 'NO ANSWER' then 1 ELSE 0 end) AS NoAnswer
FROM jshou_custom.afterhours
WHERE CallDate >= DATE_ADD(NOW(), INTERVAL -1 WEEK)
AND TIME(CallDate) BETWEEN '17:00:00' AND '08:00:00'
GROUP BY AgentName
DATE_ADD 子句工作得很好,并在该时间间隔内给出结果,但只要我在 TIME 函数中添加,结果中就不会返回任何内容。 CallDate 格式是 2021-09-21 HH:MM:SS
我也尝试过使用 HOUR 代替 TIME,但它也 returns 没有。
我正在尝试从 DATE_ADD 子句中指定的范围内的任何一天提取呼叫。只要在 1700 到 0800 之间(下班后电话)。
我认为您需要像这样检查两个日期并调整每个日期使用的时间
WHERE
(CallDate > DATE_ADD(CURDATE(), INTERVAL -7 DAY) AND TIME(CallDate) > '17:00:00')
OR
(CallDate > DATE_ADD(CURDATE(), INTERVAL -6 DAY) AND TIME(CallDate) < '08:00:00')