by zbra [PL/SQL] 정규식 [2019.12.02 18:05:41]
SELECT 'USD 54.5 ~ USD 55.5' AA FROM DUAL
54.5 와 55.5 만 추출 하여 두 칼럼으로 분리 하기위해서는 어떻게 해야할까요?
REGEXP_REPLACE(AA, '[^0-9.]') 로 숫자만 빼는건 간단하나,
구분자를 넣어, 두 칼럼으로 분리하는건 어떻게 해야할지 감이 안잡히네요 ㅠㅠ
select regexp_replace(regexp_substr(aa, ‘[^~]+’ , 1 , 1) , ‘[^0-9|^.]+’ ) , regexp_replace(regexp_substr(aa, ‘[^~]+’ , 1 , 2) , ‘[^0-9|^.]+’ ) from table
WITH T AS (SELECT 'USD 54.5 ~ USD 55.5' AA FROM DUAL) SELECT REGEXP_SUBSTR(AA, '[0-9\.]+', 1, 1) A , REGEXP_SUBSTR(AA, '[0-9\.]+', 1, 2) B FROM T