where子句中的Sysdate在oracle sql中不起作用
我在下面选择了一个查询,我试图只获取今天日期的数据,但不返回任何内容:where子句中的Sysdate在oracle sql中不起作用,sql,oracle,date,select,Sql,Oracle,Date,Select,我在下面选择了一个查询,我试图只获取今天日期的数据,但不返回任何内容: select * from V_TER where SYSTEM_INSERTED_AT = SYSDATE; SYSTEM\u INSERTED\u DATE属于DATE数据类型,值存储在该字段中,例如2021-01-15 15:17:13Oracle中的问题是日期在数据和sysdate本身中都有时间组件 我建议在当前日期的任何时间检查: where system_inserted_at >= trunc(sysd
select * from V_TER
where SYSTEM_INSERTED_AT = SYSDATE;
SYSTEM\u INSERTED\u DATE
属于DATE
数据类型,值存储在该字段中,例如2021-01-15 15:17:13
Oracle中的问题是日期在数据和sysdate
本身中都有时间组件
我建议在当前日期的任何时间检查:
where system_inserted_at >= trunc(sysdate) and
system_inserted_at < trunc(sysdate) + interval '1' day
Oracle中的问题是,日期在数据和
sysdate
本身中都有时间组件
我建议在当前日期的任何时间检查:
where system_inserted_at >= trunc(sysdate) and
system_inserted_at < trunc(sysdate) + interval '1' day
感谢trunc(系统插入时间)=trunc(系统日期)适用于me@Symonds它将“起作用”,但如果您在列的系统中插入了一个索引,那么如果您截断该列(您将需要一个基于函数的索引),Oracle将无法使用它,但如果您在一个日期范围内进行比较(而不截断该列),它可以使用它。感谢trunc(系统插入位置)=trunc(系统日期)适用于me@Symonds它将“起作用”,但如果您在
列的系统中插入了一个索引,那么如果您截断该列(您将需要一个基于函数的索引),Oracle将无法使用它,但如果您在一系列日期上进行比较,它可以使用它(不截断列)。