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'
甲骨文日期也有时间部分,也许这就是你问题的原因,