Java oracle developer中的SQL日期比较

Java oracle developer中的SQL日期比较,java,sql,oracle-sqldeveloper,Java,Sql,Oracle Sqldeveloper,我有一张有日期栏的桌子。但是当我使用'>'运算符时,返回的结果集与预期的不一样 从出生日>'2020年1月10日'的表格中选择* 预期结果集不应具有2020年1月10日的值,因为使用了查询“>”。但在结果集中,我看到2020年1月10日,2020年1月11日。。。sql就是这样运行的吗?试试这个: select * from table where birth_day >= to_date('2020.01.11', 'yyyy.mm.dd'); 在oracle中,Datedatatyp

我有一张有日期栏的桌子。但是当我使用'>'运算符时,返回的结果集与预期的不一样

从出生日>'2020年1月10日'的表格中选择*

预期结果集不应具有2020年1月10日的值,因为使用了查询“>”。但在结果集中,我看到2020年1月10日,2020年1月11日。。。sql就是这样运行的吗?

试试这个:

select * from table where birth_day >= to_date('2020.01.11', 'yyyy.mm.dd');

在oracle中,
Date
datatype也存储时间

因此,您有多个选项来获取结果,如下所示:

select * from table where birth_day >= date '2020-01-10' + 1; 
-- all the birth_day having date >= 2020-01-10 00:00:00 will be included

select * from table where trunc(birth_day) > date '2020-01-10';  
-- trunc(birth_day) will trunc the date to starting of the day - 00:00:00 
-- so it will work without adding one day to your date '2020-01-10'

甲骨文日期也有时间部分,也许这就是你问题的原因,