DATE형식 필드에 값을 넣으려 합니다. 0 5 2,495

by 파랑비 [2011.10.20 10:30:20]



필드 형식은 DATE입니다.

이곳에 값을 넣으려 하는데

변수로 3개를 보냅니다.

하나는 '2011-10-20' 이런식으로 날짜를 보내고(v_detailproc_real_work_time_da)

두번째는 '14' 이렇게 시간을 보냅니다.(v_detailproc_real_work_time_hh)

마지막은 '55' 이런식으로 분의 값을 보냅니다.(v_detailproc_real_work_time_mm)

이 3개를 합쳐서 DATE 필드에 넣으려 하는데

TO_CHAR((TO_DATE(v_detailproc_real_work_time_da) + v_detailproc_real_work_time_hh/(24))+ v_detailproc_real_work_time_mm/(24*60), 'YYYY-MM-DD HH24:MI:SS')

이런식으로 하는데 잘 안되네요 ㅠㅠ 리터럴 형식이 문자열과 틀리다 합니다.

TO_CHAR를 안넣거나 다시 TO_DATE 형식으로 감싸면 DATE형식으로 넣을수 있는 길이가 틀리다는

식으로 에러 메시지가 나옵니다.. 어떻게 해야될까요 ㅠㅠ
by 마농 [2011.10.20 10:45:38]
Date 형에 넣는데 왜 to_char 하나요? to_char 만 빼면 되겠네요.
단, 날짜 변환시 포멧은 반드시 넣어주세요
TO_DATE(v_detailproc_real_work_time_da, 'yyyy-mm-dd')
+ v_detailproc_real_work_time_hh/24
+ v_detailproc_real_work_time_mm/24/60

더 간단하게는 다음과 같이...
TO_DATE(
v_detailproc_real_work_time_da || v_detailproc_real_work_time_hh || v_detailproc_real_work_time_mm
, 'yyyy-mm-ddhh24mi')

by 파랑비 [2011.10.20 10:55:04]
마농님 감사합니다^^
근데 알려 주신대로 하니
ORA-01840: 입력된 값의 길이가 날짜 형식에 비해 부족합니다
오류가 뜨네요 ㅠㅠ 계속 찾아보겠습니다 ㅠㅠ 어렵네요 역시 오라클 ㅠㅠ

by 마농 [2011.10.20 11:14:15]
v_detailproc_real_work_time_da || v_detailproc_real_work_time_hh || v_detailproc_real_work_time_mm
이 값이 정확히 어떻게 나오는지 확인해 보세요.
날짜형식 'yyyy-mm-ddhh24mi' 과 일치하는 형식인지?

by 파랑비 [2011.10.20 11:20:42]
형식은 'yyyy-mm-dd hh24:mi:ss'의 형식으로 나오네요
알다가도 모르겠네요 ㅠㅠ 매번 도움 감사합니다 마농님^^

by 파랑비 [2011.10.20 11:35:53]
마농님의 답은 맞는거였어요;; 약간 다른 부분에서의 오류가 있었던거네요 ㅠㅠ 신경 쓰게 해드려 죄송합니다~;;;;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입