Substr안하고 원하는 포멧으로 표시할 수 있는 함수가 있을까요? 0 2 570

by 동동동 [SQL Query] [2021.03.23 09:27:05]


안녕하세요..

Substr안하고 원하는 포멧으로 표시할 수 있는 함수가 있을까요?

 

'AA12345678' 이라고 값이 들어 있을때 'AA-1234-5678' 이런식으로 일정값 사이에 "-"를 넣은 포멧형태로 표시하고 싶은데요..

Substr말고 다른방법은 없을까요? 값의 길이는 항상 동일합니다..

 

by 마농 [2021.03.23 10:04:17]
SELECT v
     , SUBSTR(v, 1, 2) ||'-'|| SUBSTR(v, 3, 4) ||'-'|| SUBSTR(v, 7, 4) x
     , REGEXP_REPLACE(v, '(..)(....)(....)', '\1-\2-\3') x  -- 2-4-4
     , REGEXP_REPLACE(v, '(....)', '-\1-', 3, 1) x  -- 3번째 자리부터 첫번째 4글자 앞뒤로 - 붙이기
     , REGEXP_REPLACE(v, '([0-9]{4})', '-\1') x  -- 항상 (문자2 숫자8) 인 경우 4자리 숫자마다 앞에 - 붙이기
  FROM (SELECT 'AA12345678' v FROM dual)
;

 


by 동동동 [2021.03.23 10:16:33]

마농님 항상 도움 주셔서 감사합니다..^^

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