ORACLE - 检查时间是否介于两个时间戳之间

时间:2013-06-17 06:06:55

标签: oracle oracle11g

我有一个简单的查询,它将返回A或B,具体取决于预计的烤箱输出日期和时间。如果预计的烤箱出炉日期和时间是早上6点到下午6点,则应退回A.否则B,如果时间是在第二天的下午6点到早上6点之间。我的问题是我根据预计的烤箱日期和时间不知道如何显示A或B.我正在使用下面的查询来获取预计的烤箱日期和时间。

    SELECT DISTINCT
           to_char((ti.txndate + pm.baketime/24),'MM/DD/YYYY HH:MI:SS PM') FCSTDOvenOut
    FROM CONTAINER c
    JOIN movin movin ON c.containerid = movin.historyid
    JOIN product p ON c.productid = p.productid AND p.attr_016 IN ('TEST', 'TR')
    JOIN productbase pb ON p.productbaseid = pb.productbaseid
    LEFT JOIN otherdb.pkg_main pm ON TRIM(p.brandname) = TRIM(pm.pcode)
    LEFT JOIN employee e ON movin.employeeid = e.employeeid
    JOIN trackin ti ON c.containerid = ti.historyid AND ti.txndate > movin.txndate
    LEFT JOIN employee em ON ti.employeeid = em.employeeid
    ;

示例:

enter image description here

感谢您帮助所有人。

1 个答案:

答案 0 :(得分:0)

SELECT DISTINCT
   case when
       to_char(ti.txndate + pm.baketime/24,'hh24') between '06' and '17' then 'A'
                                                                         else 'B'
   end shift,
 ....