ORACLE如何从CURRENT_TIMESTAMP获取一天的开始

hyrbngr7  于 2023-02-03  发布在  Oracle
关注(0)|答案(1)|浏览(182)

我在解决这个问题时遇到了一个问题,我必须从今天才更改的表中提取数据的ID。

SELECT DISTINCT id
FROM changes_table
WHERE valid_to > (SELECT TO_DATE(CURRENT_DATE, 'DD-MON-RR') FROM DUAL)

这在BDeaver中有效,但在我的应用程序中无效,在那里我得到“ORA-01843:“
那么是否可以使用CURRENT_TIMESTAMP,但从现在起它会获取时间戳。是否可以将其更改为00:00:00时间的DD-MON-RR格式?
还是有其他解决办法?
我只能发送一个SQL命令。

chhqkbe1

chhqkbe11#

您可以简单地在此处使用SYSDATE,并将其截断为午夜:

SELECT DISTINCT id
FROM changes_table
WHERE valid_to > TRUNC(SYSDATE);  -- RHS is today at midnight

请注意,无论valid_to是日期还是时间戳,上面的语句都应该有效。

相关问题