2013-03-16 1 views
2

오늘 날짜로 VARCHAR로 변환하는 방법 :오라클 - TO_DATE를 사용하여, 나는이 VARCHAR에 나는이 시간을 저장하는 테이블이

이 테이블에서
Times 
starttime 
00:00 
16:00 
22:00 

나는이 같은 날짜로 열을 변환 할 수 있습니다

를 나는 내가 가진 시간 값을 앞에 수있는이 쿼리를 변경할 수있는 방법

01/03/2013 00:00:00 
01/03/2013 16:00:00 
01/03/2013 22:00:00 

:

Select to_date(starttime,'hh24:mi') from times 

이 는 다음 나에게 준다 당신은 현재 날짜와 달의 시작 사이의 차이를 추가 할 수 있습니다 (16/03/2013 오늘의 날짜입니다)

16/03/2013 00:00:00 
16/03/2013 16:00:00 
16/03/2013 22:00:00 

감사

답변

5
to_date(to_char(sysdate, 'dd.mm.yyyy')||' '||starttime, 'dd.mm.yyyy hh24:mi') 
1

: 오늘 날짜는 그래서 대신 다음과 같은 얻을. 나는 당신이 날짜를 고수하면서 문자열 연산을 선호하지만, 큰 차이는 없습니다.

당신은 그것을 해결하기 위해 TRUNC()를 사용할 수 있습니다

select to_date('09:00','hh24:mi') + (trunc(sysdate) - trunc(sysdate, 'mm')) 
    from dual 

SQL Fiddle

trunc(sysdate)는 최초의 오늘과 trunc(sysdate, 'mm') 달의 시작입니다. 오라클의 날짜 계산은 오늘과 시작 날짜 사이의 하루 차이를 반환한다는 것을 의미합니다. 원래 TO_DATE()에 추가해야하는 차이점을 제공합니다.