oracle数据库里两个字符型的日期数据怎样比较?

oracle数据库里两个字符型的日期数据怎样比较?比如说一个是kssj,存的数据是
“20100825031000”,另一个是jssj,存的数据是“2010082503160000“。我想提取jssj比kssj大15分钟的数据,怎么做?
在加一个补充条件,我还有个要求是kssj要大于20100825000000。我试了试,怎么也不行啊。

select * from 表名 where to_date(jssj,'yyyymmddhh24miss')-
to_date(kssj,'yyyymmddhh24miss')>900/24/60/60

解释下:那两个日期要转成日期型来做比较
条件是大于15分钟,正常两个日期减得到的是天

所以要用900秒除24小时,除60分钟,除60秒,将这个15分钟转成天
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2021-01-20
select * from 表名 where to_date(jssj,'yyyymmddhh24miss')-
to_date(kssj,'yyyymmddhh24miss')>900/24/60/60

解释下:那两个日期要转成日期型来做比较
条件是大于15分钟,正常两个日期减得到的是天

所以要用900秒除24小时,除60分钟,除60秒,将这个15分钟转成天
第2个回答  推荐于2017-10-08
更正下,原来把 to_date 的格式串写错了,再加上您给的新的条件:

select * from tab_name
where
(
to_date('kssj','yyyymmddhi24miss') >
to_date('20100825000000','yyyymmddhi24siss'))
and
(
to_date('jssj','yyyymmddhi24miss') -
to_date('jssj','yyyymmddhi24miss')
)*24*60 >= 15;本回答被提问者采纳
第3个回答  2010-08-25
select * from tablename
where (to_date(jssj,'yyyymmddhh24miss')-to_date(kssj,'yyyymmddhh24miss'))*24*60>15

tablename请用你自己的表名替换