我正在寻找一种方法来获取星期五(dayofweek = 6)的数据,但仅在09AM到05PM之间。这可能吗?用什么方式?
最后一个月的最后一个星期五,我只希望查看从09AM到5PM的数据。
我有一个简单的created_on datetime列。
我尝试过的内容以及此查询的不同变体:
Select i.created_on from issues i
where DAYOFWEEK(i.created_on) IN (6)
and i.created_on between 'yyyy-mm-dd 09:00:00' and 'yyyy-mm-dd 17:00:00'
也
Select i.created_on from issues i
where DAYOFWEEK(i.created_on) IN (6)
and i.created_on between '09:00:00' and '17:00:00'
我得到零结果,因为我错过了一些东西。如果我将确切的日期和时间放在一起,那么它可以工作,但我不想只寻找时间。日期可以是任何星期五。
答案 0 :(得分:0)
where dayofweek(created_at) = 6
and time(created_at) > '09:00:00'
and time(created_at) < '17:00:00'
答案 1 :(得分:0)
您可以检查所有条件,如下所示:
WHERE created_on >= LAST_DAY(CURRENT_DATE - INTERVAL 2 MONTH) + INTERVAL 1 DAY
AND created_on < LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH) + INTERVAL 1 DAY
AND DAYOFWEEK(created_on) = 6
AND HOUR(created_on) BETWEEN 9 AND 16
LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH) + INTERVAL 1 DAY
将为您提供当月的01
LAST_DAY(CURRENT_DATE - INTERVAL 2 MONTH) + INTERVAL 1 DAY
将给您上个月的01
DAYOFWEEK(created_on) = 6
将过滤星期五HOUR(created_on) BETWEEN 9 AND 16
会将时间从09:00
过滤到16:59:59.999