programing

Oracle에서 날짜에서 시간을 빼서 해당 날짜에도 영향을 미치도록 하는 방법

goodsources 2023. 6. 15. 21:49
반응형

Oracle에서 날짜에서 시간을 빼서 해당 날짜에도 영향을 미치도록 하는 방법

오라클에서 날짜를 빼서 하루에도 영향을 미치려고 합니다.예를 들어 타임스탬프가 01/6/2015 00시간이고 2시간을 빼면 31/5/2014 22시간으로 이동할 수 있습니다.

나는 노력했다.

to_char(sysdate-(2/11), 'MM-DD-YYYY HH24')

그러나 그것은 시간을 뺄 뿐, 하루 자체를 건드리지는 않습니다.

다른 사람들은 의 (잘못된) 사용에 대해 언급했습니다.2/11원하는 간격을 지정합니다.

저는 개인적으로 ANSI를 사용하여 그런 것을 쓰는 것을 선호합니다.interval질의를 훨씬 쉽게 읽을 수 있는 리터럴:

sysdate - interval '2' hour

휴대가 가능하다는 장점도 있는데, 많은 DBMS가 이를 지원합니다.게다가 저는 그 표현이 몇 시간을 의미하는지 알기 위해 계산기를 켤 필요가 없습니다 - 저는 정신적인 산술을 꽤 못합니다 ;)

사용해 보십시오.

SELECT to_char(sysdate - (2 / 24), 'MM-DD-YYYY HH24') FROM DUAL

새 날짜 인스턴스를 사용하여 테스트하는 방법

SELECT to_char(TO_DATE('11/06/2015 00:00','dd/mm/yyyy HH24:MI') - (2 / 24), 'MM-DD-YYYY HH24:MI') FROM DUAL

출력: 06-10-2015 22:00, 전날.

sysdate-(2/11)

하루는 다음과 같이 구성됩니다.24 hours그래서 뺄셈2 hours당신이 그것을 나눌 필요가 있는 날부터.24:

DATE_value - 2/24

사용.interval동일한 경우:

DATE_value - interval '2' hour

date - n지정된 날짜에서 n일을 차감합니다.시간을 빼려면 24로 나누어서 당일 구매로 전환해야 합니다.당신의 경우에는 그래야 합니다.to_char(sysdate - (2 + 2/24), 'MM-DD-YYYY HH24')이렇게 하면 시스템 날짜에서 2일 및 2시간이 차감됩니다.

당신은 시간을 11시가 아닌 24시로 나누어야 합니다.
다음과 같이:
select to_char(sysdate - 2/24, 'dd-mon-yyyy HH24') from dual

언급URL : https://stackoverflow.com/questions/30772434/how-to-subtract-hours-from-a-date-in-oracle-so-it-affects-the-day-also

반응형