Oracle:Decode在时间范围中的使用
2014-05-14 10:21
531 查看
做查询的时候需要下一个sql,需要select test_time出来,如果test_Time的HH24:Mi:SS在7:00:00和19:00:00返回白班,否则返回夜班
select case when to_number(to_char(test_time, 'hh24')) between 7 and 19 then '白班'
else '夜班'
end
from (select to_date('2008-12-5 10:00:00', 'yyyy-mm-dd hh24:mi:ss') test_time
from dual
) t;
SQL> SELECT MYDATE,
2 DECODE(SIGN(MYDATE-TO_DATE(TO_CHAR(MYDATE,'YYYY-MM-DD')||'07:00:00','YYYY-MM-DD HH24:MI:SS'))
3 *SIGN(TO_DATE(TO_CHAR(MYDATE,'YYYY-MM-DD')||'19:00:00','YYYY-MM-DD HH24:MI:SS')-MYDATE),
4 1,'Morning Shift',
5 0,'Morning Shift',
6 'Afternoon Shift') CLASS_TYPE
7 FROM TABLE_NAME TT;
MYDATE CLASS_TYPE
-------------------------------------------------- ---------------
2008-12-3 6:30:55 Afternoon Shift
2008-12-3 10:42:33 Morning Shift
2008-12-3 19:22:36 Afternoon Shift
2008-12-3 19:00:00 Morning Shift
2008-12-4 7:00:00 Morning Shift
select case when to_number(to_char(test_time, 'hh24')) between 7 and 19 then '白班'
else '夜班'
end
from (select to_date('2008-12-5 10:00:00', 'yyyy-mm-dd hh24:mi:ss') test_time
from dual
) t;
SQL> SELECT MYDATE,
2 DECODE(SIGN(MYDATE-TO_DATE(TO_CHAR(MYDATE,'YYYY-MM-DD')||'07:00:00','YYYY-MM-DD HH24:MI:SS'))
3 *SIGN(TO_DATE(TO_CHAR(MYDATE,'YYYY-MM-DD')||'19:00:00','YYYY-MM-DD HH24:MI:SS')-MYDATE),
4 1,'Morning Shift',
5 0,'Morning Shift',
6 'Afternoon Shift') CLASS_TYPE
7 FROM TABLE_NAME TT;
MYDATE CLASS_TYPE
-------------------------------------------------- ---------------
2008-12-3 6:30:55 Afternoon Shift
2008-12-3 10:42:33 Morning Shift
2008-12-3 19:22:36 Afternoon Shift
2008-12-3 19:00:00 Morning Shift
2008-12-4 7:00:00 Morning Shift
相关文章推荐
- Oracle:Decode在时间范围中的使用.
- oracle 时间条件值范围越大就不走索引问题解决:使用强制索引
- Oracle中Decode()函数使用技巧
- oracle中decode和case的使用例子
- V使用oracle的decode的及时总结
- 使用oracle的decode总结
- Oracle使用序列及使用数据库时间
- Oracle中Decode()函数使用技巧
- oracle decode使用方法
- 在使用OracleDataAdapterFill(Dataset)方法时报错:指定的参数已超出有效值的范围
- Oracle中Decode()函数使用技巧
- Oracle中Decode()函数使用技巧
- Oracle中Decode()函数的使用
- 解析:怎样使用Oracle的DECODE()函数
- Oracle中Decode()函数使用技巧
- Oracle的decode()函數使用技巧
- [摘录]Oracle中Decode()函数使用技巧
- Oracle中Decode()函数使用技巧
- Oracle Decode 使用 技巧
- Oracle中Decode()函数使用技巧