我們有一個包含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,就像我找到的所有示例一樣?
在此先感謝
那麼您是否發現了一個通用解決方案,使用HOUR字段和EXTRACT?我需要一個跨DBMS兼容的解決方案。 – 2012-05-10 09:34:06