在特定时间和日期获取systime-Oracle SQL

时间:2020-06-08 13:00:54

标签: sql oracle date select oracle-sqldeveloper

有可能做这样的事情吗?

SELECT
    TO_CHAR(SYSDATE-1, 'MM-DD-YYYY 08:00:00') "Yesterday",

我想从昨天上午8点开始获取sysdate

2 个答案:

答案 0 :(得分:2)

您可以这样写:

trunc(sysdate - 1) + interval '8' hour

或者:

trunc(sysdate) - interval '16' hour

或者您可以使用整数值而不是间隔进行日期算术:

trunc(sysdate) - 16/24    

答案 1 :(得分:1)

  • 截断sysdate。这将删除日期的时间部分。
  • 然后加8/24(24小时中的8小时),8/24等于1/3-8小时是一天的三分之一。
  • 然后以DD-MON-YYYY HH24:MI:SS格式显示此日期值。

所有这些加起来:

SELECT TO_CHAR(TRUNC(SYSDATE) - 1 + 1/3,'DD-MON-YYYY HH24:MI:SS') FROM DUAL;