日期:2014-05-17  浏览次数:20707 次

关于时间比较的问题
我想比较sysdate是不是今天的08:00:00应该怎么写啊?

另外,如果我想判断一下,sysdate是不是在今天的07:50:00和08:10:00之间怎么判断啊?

------解决方案--------------------
to_char(sysdate,'hhmiss') = '080000'

to_char(sysdate,'hhmiss') between '075000' and '081000'
------解决方案--------------------
select decode(to_char(sysdate,'hh24:mi:ss'),'08:00:00',1,0) from dual
以上语句,如果是08:00:00 显示1,否显示0
select case sysdate 
when to_char(sysdate,'hh24:mi:ss')>='07:50:00' and to_char(sysdate,'hh24:mi:ss')<='08:10:00'
then 1 
else 0 
end 
from dual

以上判断是否在7:50到8:10之间,是输出1,否输出0
------解决方案--------------------
SELECT CASE WHEN TO_CHAR(SYSDATE,'HH24:MI:SS') = '08:00:00' THEN 1
WHEN TO_CHAR(SYSDATE,'HH24:MI:SS') BETWEEN '07:50:00' AND '08:00:00' THEN 2
ELSE 3 END FROM DUAL ;
看返回结果,返回1就是上午8点,返回2就是处于上午7:50与上午8点之间,否则返回3.
------解决方案--------------------
select decode(to_char(sysdate,'hh24:mi:ss'),'08:00:00',1,0) from dual 

SELECT CASE WHEN TO_CHAR(SYSDATE,'HH24:MI:SS') = '08:00:00' THEN 1 
WHEN TO_CHAR(SYSDATE,'HH24:MI:SS') BETWEEN '07:50:00' AND '08:00:00' THEN 2 
ELSE 3 END FROM DUAL