안녕하세요. 그루비회원님들 쿼리조회시 궁금한것이 있어 문의드립니다.
*USER 테이블정보*
SELECT * FROM USER;
이름 | 핸드폰번호 | 일련번호 |
홍길동 | 010-1234-1234 | 1234123412341234 |
김길동 | 010-1234-1234 | 6789678967896789 |
1) 제가원하는 쿼리의 결과값은 다음과 같습니다.
==> 일련번호의 값을 조회 시 4자리마다 '-'표시
이름 | 핸드폰번호 | 일련번호 |
홍길동 | 010-1234-1234 | 1234-1234-1234-1234 |
김길동 | 010-1234-1234 | 6789-6789-6789-6789 |
감사합니다.
좋은하루보내세요.
WITH t AS ( SELECT '1234123412341234' sno FROM dual UNION ALL SELECT '6789678967896789' FROM dual ) SELECT sno , SUBSTR(REGEXP_REPLACE(sno, '(....)', '-\1'), 2) x , REGEXP_REPLACE(sno, '(....)(....)(....)(....)', '\1-\2-\3-\4') x , REGEXP_REPLACE(sno, '(.{4})(.{4})(.{4})(.{4})', '\1-\2-\3-\4') x , REPLACE(TO_CHAR(sno, '9999,9999,9999,9999'), ',', '-') x , SUBSTR(sno, 1, 4) || '-' || SUBSTR(sno, 5, 4) || '-' || SUBSTR(sno, 9, 4) || '-' || SUBSTR(sno, 13, 4) AS x FROM t ;