Oracle 查询语句问题: 要求查询某天固定时间点的数据,且日期可以变化 时间点不变化

比如: 查询 2012-7-10 08:00:00 这个时间的数据 要求查询语句中 前边的年月日 与 时分秒 不要写在一起 、 分开的。
目的是 要灵活查询 每天 8点整的数据。

你可以利用to_data(,)函数和to_char(,) 把你传入的参数拼接起来;

如下面:
where to_char(rq,'yyyymmddhh24mi') = '2012'||'07'||'25'||'15'||'30' --后面的参数可按照这样 年月日时分 拼接起来就可以了
你可以按照你传入的条件灵活的进行封装sql。追问

select * from dbs2002 where to_char(cjsj,'yyyy-mm-dd HH24:MI:SS') = '2012-07-12'||'05:00:00'

0.0 这样查不出数据哦 为啥 那个CJSJ 是字段 :采集时间

追答

select * from dbs2002 where to_char(cjsj,'yyyy-mm-dd HH24:MI:SS') = '2012-07-12'||' 05:00:00'

日和时 那里加各空格试试看?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-27
来一个简单一点的,将时间列转成字符(只取时间部分):

select * from table where to_char(datecol,'hh24:mm:ss') = '08:00:00' ;
第2个回答  2012-07-27
用substr和instr对日期做截取,取出日期和指定的日期参数做匹配,然后取出时间点和8点做匹配。
第3个回答  2012-07-27
你在日期上加或者减天数不就行了.