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

Posted

tags:

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

日期格式直接减
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
类的帮助文档
参考技术A oracle中date的类型可以直接使用<,
>,
<>进行比较,字符串类型可以先转换成date类型在进行比较
select case
when to_date('2017-01-20', 'yyyy-mm-dd') > sysdate
then 'true'
else 'false' end
from dual

oracle把查两个日期相减的天数变成数字类型

oracle 查询里面2个日期字段相减得到的天数 是什么什么类型的字段 , 可以拿2个日期相减然后再乘以单价吗?我在sqlplus里面运行的没有报错,
放在JAVA里面就会报一个 ORA-01861 文字与字符串不匹配
我该怎么改?

在oracle中,两个date类型相减为天数,要转换为秒,则用结果去乘以24*60*60;
在java中,两个date类型相减则为毫秒数!
参考技术A date - date = number of days(天数)
你用天数*单价,不明白你是什么样的业务需求..
参考技术B 2个日期相减会得到一个number类型,java里默认用BigDecimal类型去匹配number类型 参考技术C 你用的试eclipse搞java的吗???如果是可以试试下面的===
右击这个项目==点最后选项properties==弹出对话框【点击other,把默认的GBK编码格式改为utf-8或其他的试试】=====

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

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

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

Sql字符串与时间比较问题

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

sql日期比较大小

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