by lgxj [2022.02.25 10:17:35]
'000000000000' --> 무조건12자리 아니면 null인경우로 들어오는데요.
변환은 무조건 '0000-0000-0000' 으로 형식을 변경해야됩니다. null일때는 그냥 null이고요
substr('000000000000,1,4) || '-' || <-- 이런식으로 말고 다른 방법이 있을까요>??
SELECT SUBSTR(REGEXP_REPLACE('일이삼사1234ABCD', '(.{4})', '-\1'), 2) FROM DUAL;
WITH t AS
(
SELECT '' v FROM dual
UNION ALL SELECT '000000000000' FROM dual
)
SELECT v
, SUBSTR(REGEXP_REPLACE(v, '(.{4})', '-\1'), 2) x
, LTRIM(REGEXP_REPLACE(v, '(....)', '-\1'), '-') x
, REGEXP_REPLACE(v, '(....)(....)(....)', '\1-\2-\3') x
, REGEXP_REPLACE(v, '(....)(....)', '\1-\2-') x
, REGEXP_REPLACE(v, '(....)', '-\1-', 5, 1) x
, REGEXP_REPLACE(v, '(....)', '-\1-', 1, 2) x
, REPLACE(TO_CHAR(v, 'fm0000,0000,0000'), ',', '-') x
FROM t
;
와우..멋지네요....!!