2014-07-16 3 views
0
select 
    to_char(trunc(mod(-5400,3600)/60),'FM00') || ':' || 
    to_char(mod(-5400,60),'FM00')||':00' 
FROM DUAL; 

- 제가 시간에 대한 ...의 표시 일 : -23 : -23음의 시간 차이 - -32 같은

나는 그것이 -32 '과 같은 몇 가지 일을 표시하려면 : 23시 23 분.

시도한 추출 기능도 있지만 ... 운이 없습니다. 모든 의견을 감사드립니다.

+2

달성하려는 목표는 무엇입니까? 이 대신 간격 데이터 유형을 사용할 수있는 것 같습니다 - http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements001.htm#SQLRF00207 –

답변

1

분/초의 abs()를 사용하는 것은 어떻습니까?

SELECT To_char(Trunc(MOD(-5423, 3600)/60), 'FM00') 
     || ':' 
     || To_char(Abs(MOD(-5423, 60)), 'FM00') 
     ||':00' 
FROM dual; 
+0

완벽한 ... 감사합니다! 이것은 내가 필요한 것입니다 –

+0

실제로 시간 차이> 1 시간 동안 작동합니다. 하지만 시간차가 1 시간 미만인 경우 긍정적 인 것으로 나타났습니다 ... -10 분 동안 '-00 : 15 : 00'을 표시하고 싶습니다. –