Hi~ Summers!!

[ORACLE] 전화번호 형식 표시 본문

개발/DB

[ORACLE] 전화번호 형식 표시

eNaNII 2017. 3. 20. 17:46
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
WITH TEMP AS
(
SELECT '01012345678' TEL FROM DUAL
UNION ALL SELECT '0112345678' FROM DUAL
UNION ALL SELECT '021234567'  FROM DUAL
UNION ALL SELECT '0441234567' FROM DUAL
UNION ALL SELECT '0212345678' FROM DUAL
UNION ALL SELECT '15771588'   FROM DUAL
)
SELECT TEL
     , CASE WHEN LENGTH(TEL) = 8 THEN SUBSTR(TEL,0,4|| '-' || SUBSTR(TEL,5,4)
            ELSE REGEXP_REPLACE(TEL
                    , '(02|031|032|033|041|042|043|044|051|052|053|054|055|061|062|063|064'
                     ||'|010|011|016|017|018|019'
                     ||'|030|050|060|070|080)'
                     ||'(.+)(.{4})'
                    , '\1-\2-\3'
                 )
        END AS TEL_FMT
  FROM TEMP
;
cs


Comments