Oracle两个日期类型字段怎么比较大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle两个日期类型字段怎么比较大小相关的知识,希望对你有一定的参考价值。

oracle中date的类型可以直接使用<, >, <>进行比较,字符串类型可以先转换成date类型在进行比较

select case 
    when to_date('2017-01-20', 'yyyy-mm-dd') > sysdate 
        then 'true'
    else 'false' end
from dual

参考技术A

oracle中date的类型可以直接使用<, >, <>进行比较,字符串类型可以先转换成date类型在进行比较

select case 
    when to_date('2017-01-20', 'yyyy-mm-dd') > sysdate 
        then 'true'
    else 'false' end
from dual

参考技术B

日期格式直接减

select to_date('20130120','yyyymmdd')-to_date('20130110','yyyymmdd') from dual;

结果为10

// 获取数据库的连接这些操作我就省了

PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM H_TEST");

ResultSet rs = pstmt.executeQuery();

ResultSetMetaData  rsmd = rs.getMetaData(); //获取字段名

if(rsmd != null)

int count  = rsmd.getColumnCount();

for(int i=1;i=count;i++)

System.out.println("获得1列对应数据类型的类 " + rsmd.getColumnClassName(1));

// rsmd 还有其他的 方法可用,你可以查看JDK中 ResultSetMetaData 类的帮助文档

参考技术C 直接用运算符比较
date1>date2

sql存储过程中时分秒字符串怎么比较大小 如08:30:00 与13:00:00怎么比较

oracle 中字符串日期类型是可以直接比较的,如:
select * from scott.emp where \'08:30:00\'<\'13:00:00\'
但是如果你要用一张表中的时间字段进行比较时,必须使用to_date()函数,如:
select * from scott.emp where hiredate<to_date(\'2012.01.01 13:00:00\',\'yyyy.mm.dd hh24:mi:ss\')
参考技术A TO_CHAR(date,’格式’);就是把时间转化成字符串,然后就可以进行比较了 参考技术B 字符传就是一个一个字符从前往后比较的啊 你这个前面时间就小于后面的时间 参考技术C 对不起啊,我是来混分数的啊,唉

以上是关于Oracle两个日期类型字段怎么比较大小的主要内容,如果未能解决你的问题,请参考以下文章

SQL 字符串类型的时间怎么比较大小

CDateTimeCtrl类型的日期如何比较大小

Sql字符串与时间比较问题

SQL语句中怎样比较两个日期的大小?

sql日期比较大小

ACCESS数据库里的时间类型能不能做大小比较?