如何用Oracle查询多个时间段的数据,如取出(2013-1-1到2013-4-1)和(2014-1-1到2014-4-

如何用Oracle查询多个时间段的数据,如取出(2013-1-1到2013-4-1)和(2014-1-1到2014-4-1)的数据?
如题,我在一个表中查询两个时间的数据,如何取出,我目前知道可以用or+between的方式,可是between会把后面的时间=,而我并不像要4月2日0点的数据,所以有可能通过大于(>)小于(
hzysh1970 1年前 已收到1个回答 举报

种菜妹不走 幼苗

共回答了15个问题采纳率:93.3% 举报

select * from table where (时间 >='2013-01-01 00:00:00' and 时间<='2013-04-01 23:59:59') or
(时间 >='2014-01-01 00:00:00' and 时间<='2014-04-01 23:59:59')
是这个意思?

1年前 追问

3

hzysh1970 举报

另外这个还有其他的限制条件的,我试了一下报这个错误(不知道怎么回事):
Error: PL/SQL: ORA-00932: inconsistent datatypes: expected DATE got NUMBER
Line: 432

举报 种菜妹不走

select * from table where 
(to_char(时间,'yyyy-mm-dd hh24:mi:ss') >='2013-01-01 00:00:00' and to_char(时间,'yyyy-mm-dd hh24:mi:ss')<='2013-04-01 23:59:59')
or
(to_char(时间,'yyyy-mm-dd hh24:mi:ss') >='2014-01-01 00:00:00' and to_char(时间,'yyyy-mm-dd hh24:mi:ss')<='2014-04-01 23:59:59')

你时间类型是date的话就这样用一下,需要做个转换的

可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.027 s. - webmaster@yulucn.com