Database/Oracle2008. 12. 9. 16:32

오라클 함수에 날짜형식으로 변환할수 있는 함수인
to_date 함수가 있습니다.

오늘은 to_date() 를 사용하는 방법을 적어볼까 합니다.
제가 주로 쓰던거와.. 오늘 급작스럽게 테스트해보고 알게된 내용 정리죠 ^^;

주로 to_date를 사용할때는
select to_date('20081209142500' , 'YYYYMMDDHH24MISS') from dual;

과 같이 사용해서 날짜형식을 만들어 사용했습니다.
(저와.. 저희회사에서 주로... ㅎㅎㅎ;;)

그런데 제가 추가로 급여관리 프로그램을 만들던 도중에..
12월달 data들(출/퇴근기록) 계속 저장해놓고 있었습니다..  (미리 DB설계가 반영이 안돼있던터라)

그리고 이제 저장해놓은 백업데이터들을 DB에 입력하려는데..
그동안 저장해온 출/퇴근시간이.. 이렇게 저장되어있었죠..
2008-11-28 오전 8:59:54

ㅠ.ㅠ;     순간 난감한가운데... 열심히 뒤적뒤적...  찾다보니

http://www.gotapi.com     (각종레퍼런스제공)

훗 제가 자주애용하던곳에서 to_date 함수를 검색해서 찾아봤습니다.
SELECT TO_DATE(
'January 15, 1989, 11:00 A.M.',
'Month dd, YYYY, HH:MI A.M.',
'NLS_DATE_LANGUAGE = American')
FROM DUAL;
예제로 요런 코드가 제공되더군요.. 
이걸가지구 또 한참을 삽질하다가.. 'NLS_DATE_LANGUAGE = American'  이라는 부분은
별로 필요없는듯하여 버리구.. 만들어낸것이
SELECT TO_DATE('2008-11-28 오전 8:59:54','YYYY-MM-DD A.M. HH:MI:SS')
FROM DUAL;
결국 원하는 값을 얻어냈습니다. ㅋ
다른게 아닌 char 형식의 것들에서 date 형식으로의 변환을 위한 매칭되는 예약어들만 알면
해결되는것이었습니다~ ㅎ
YYYY(4자리 년도) , MM(두자리 월) , DD (두자리 날짜) , A.M. (요게 오전,오후를 나타내는거죠)
HH(시간이구요, 요건 1~12로 표현되는 시간), MI(두자리 분), SS(두자리 초)
HH24(이것두 시간표현이구요, 1~24시로 표현합니다. 이걸쓰면 A.M. 은 필요없겠죠?)

하하.. 무튼.. 삽질은 계속되는군요..
자주자주 글을 써야하는데...  ㅠ.ㅠ  정말  간만에 쓰네요.. 뭐; 보시는분이 계실지 모르겠지만요;;;




Posted by 햇 님