oracle数据库里两个字符型的日期数据怎样比较?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库里两个字符型的日期数据怎样比较?相关的知识,希望对你有一定的参考价值。
oracle数据库里两个字符型的日期数据怎样比较?比如说一个是kssj,存的数据是
“20100825031000”,另一个是jssj,存的数据是“2010082503160000“。我想提取jssj比kssj大15分钟的数据,怎么做?
在加一个补充条件,我还有个要求是kssj要大于20100825000000。我试了试,怎么也不行啊。
to_date(kssj,'yyyymmddhh24miss')>900/24/60/60
解释下:那两个日期要转成日期型来做比较
条件是大于15分钟,正常两个日期减得到的是天
所以要用900秒除24小时,除60分钟,除60秒,将这个15分钟转成天 参考技术A select * from 表名 where to_date(jssj,'yyyymmddhh24miss')-
to_date(kssj,'yyyymmddhh24miss')>900/24/60/60
解释下:那两个日期要转成日期型来做比较
条件是大于15分钟,正常两个日期减得到的是天
所以要用900秒除24小时,除60分钟,除60秒,将这个15分钟转成天 参考技术B 更正下,原来把 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;本回答被提问者采纳 参考技术C select * from tablename
where (to_date(jssj,'yyyymmddhh24miss')-to_date(kssj,'yyyymmddhh24miss'))*24*60>15
tablename请用你自己的表名替换
将字符串转换为带有附加时间的Oracle日期
我有两个要比较的值。这些示例如下:
- ''01/04 / 2020T07.08.45'
- '2020-04-01 14:46'
我想将第一个值转换为与第二个值相同的掩码,因此以后可以使用它连接两个表。
第一个值与第二个保存在不同的时区中。我还需要通过将两个小时添加到第一个值来进行转换,具体取决于我运行比较的时间。
使用子字符串不能解决我的问题,因为我无法在字符串中添加两个小时。 to_date函数也没给我带来什么。
您能帮我吗?
答案
您必须将两个值都转换为日期。
TO_DATE('2020-04-01 14:46', 'YYYY-MM-DD HH24:MI');
TO_DATE('01/04/2020T07.08.45', 'DD/MM/YYYYTZH.HH24.MI')
我不确定包含时区的日期。
以上是关于oracle数据库里两个字符型的日期数据怎样比较?的主要内容,如果未能解决你的问题,请参考以下文章