如何实现不同时间段内切换不同的报表?或者sql?

需求分成早班和晚班

早班是今天08:00-20:00

晚安是今天20:01-第二天早上07:59

要求如下在早班时间段内执行 (今天08:00-20:00)

select * from test where time between '2020-01-08 08:00' and '2020-01-08 20:00'

在晚班时间段内执行 (20:01到第二天的07:59)

select * from test where time between '2020-01-08 20:01' and '2020-01-09 07:59'

实现类似功能,有啥办法吗?

主要是到了第二天早上8点之前还是执行晚班的sql

FineReport fanqieo 发布于 2020-1-18 15:05 (编辑于 2020-1-18 15:06)
1min目标场景问卷 立即参与
回答问题
悬赏:8 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
孤陌Lv6资深互助
发布于2020-1-18 15:10(编辑于 2020-1-18 15:30)

我上次已经给了解决方法 还来啊 你不是采纳别人方法了吗

if(

(DATESUBDATE(now(),today(),"s"))<37800,

CONCATENATE(today()-1," 22:30:00"),

if(

(DATESUBDATE(now(),today(),"s"))<81000,CONCATENATE(today()," 10:30:00"),

CONCATENATE(today()," 22:30:00")))


看 第一个 是减一天的   就是跨天   然后 才是当天的判断 

image.png

看图

image.png

  • fanqieo fanqieo(提问者) if else 的只能执行2个哇,其实这个是有3种情况啊 比如说你白班最好理解 当前时间是在08-20就好了,晚班也能理解20-24,拿到了第二天凌晨呢?咋弄?01-07 08-24,20-24 取得是当天日期,但是到了第二天早上要取前一天的日期,等于要3种判断,if 的只能2种咋弄?
    2020-01-18 15:12 
  • 孤陌 孤陌 回复 fanqieo(提问者) 我那个就是3个判断好哇 哥哥 你看清楚没有
    2020-01-18 15:18 
  • 孤陌 孤陌 回复 fanqieo(提问者) 看 第一个 是减一天的 就是跨天 然后 才是当天的判断
    2020-01-18 15:20 
  • 孤陌 孤陌 回复 fanqieo(提问者) 我也是做生产的 也是2班倒 是早上10点30 到晚上10.30 我一直都这样用
    2020-01-18 15:22 
  • 孤陌 孤陌 回复 fanqieo(提问者) 另外结束时间反过来做就好了
    2020-01-18 15:33 
  • 2关注人数
  • 488浏览人数
  • 最后回答于:2020-1-18 15:30
    请选择关闭问题的原因
    确定 取消
    返回顶部