我们有一个包含 DATE 列 d 的表。
无论日期如何,我都想获取 d 列大于/小于某个值的所有行。
例如
| d |
-------------------
|2009/11/1 15:55:23|
--------------------
|2009/11/2 15:55:23|
--------------------
|2009/11/3 15:55:23|
--------------------
|2009/11/3 17:55:23|
--------------------
例如,如果我想在下午 5 点之后标记所有记录:
select d
from my_table
where extract( hour from d ) > TO_DATE ('17:00:00','HH24:MI:SS')
这应该只返回一条记录
|2009/11/3 17:55:23|
我不知道这是否是最好的方法,但我在提取函数上遇到错误:
ORA-30076: invalid extract field for extract source
Cause: The extract source does not contain the specified extract field.
有一个更好的方法吗?这个错误是怎么回事?提取仅适用于 sysdate,就像我发现的所有示例一样?
提前致谢