날짜 수정 방법... 0 3 1,999

by 윤 날짜 인서트 수정 [2013.10.22 13:39:40]


날짜를 자바단에서 받아 DB에 넣어 출력을 하게 하였습니다.
20131022 로 들어가는 데이터의 값을
년 월 일 로 나오게 하고자 하는데... 어떤식으로 해야 효율적으로 되는지 여쭈어 봅니다.
값을 넣을때는 char로 넣었습니다.


한가지 더 여쭙고자 하는게 있는데..
만일 데이터 바로 인서트 될 당시에 date 값을 넣을려고 합니다.
넣고자 할때 값을 현재의 일자 년 월 일 로 입력이 가능할까요?

도움을 구해봅니다 

WITH t AS( 
SELECT '20131022'A FROM dual
UNION ALL SELECT '20131022' FROM dual
union all SELECT '20131023' FROM dual
)
SELECT substr(a,1,4)||'년'||substr(a,5,2)||'월'||substr(a,7,2)||'일' a FROM t;
by 용근님 [2013.10.22 13:53:04]

REGEXP_REPLACE ( a, '([0-9]{4})([0-9]{2})([0-9]{2})', '\1년\2월\3일' )

by 마농 [2013.10.22 15:15:08]
1 효율적인 방법?
  - 어차피 내장함수 사용해서 변환하는데에는 대동소이합니다.
  - 정말 무지막지하게 복잡하게 짜지 않는 한 큰 효율 차이는 없습니다.
  - 방법은 정말 다양하겠지요.
  - TO_CHAR(TO_DATE(a, 'yyyymmdd'), 'yyyy"년"mm"월"dd"일"')
  - REGEXP_SUBSTR(a, '(....)(..)(..)', '\1년\2월\3일')
2. 현재일자 입력 방법?
  - 굳이 자바단에서 값을 넣어줄 필요 없이 오라클 내부 Sysdate 을 이용하세요.
  - TO_CHAR(sysdate, 'yyyymmdd')

by 윤 [2013.10.24 08:47:28]
감사합니다. 
다시 수정하여 사용해야 겠네요.

작업이 늘어서..답변이 늦었습니다. 

용근님 / 마농님 도움주셔서 감사합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입