sql – Oracle:仅按小时比较日期

前端之家收集整理的这篇文章主要介绍了sql – Oracle:仅按小时比较日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个表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,如我发现的所有示例中?

提前致谢

解决方法

这个怎么样?
select d 
from my_table
where to_char(d,'HH24') > '16';

猜你在找的MsSQL相关文章