我们有一个包含DATE列d的表格。Oracle:仅比较日期与小时
我想要得到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|
我不t知道这是否是最好的方法,但是我在提取功能中遇到错误:
ORA-30076: invalid extract field for extract source
Cause: The extract source does not contain the specified extract field.
有没有更好的方法来做到这一点? 这个错误怎么了?提取仅适用于sysdate,就像我找到的所有示例一样?
在此先感谢
2010-02-26
Tom
+0
那么您是否发现了一个通用解决方案,使用HOUR字段和EXTRACT?我需要一个跨DBMS兼容的解决方案。 –
2012-05-10 09:34:06