쿼리질문입니다. 0 2 973

by 김동욱 [SQL Query] [2013.08.28 10:40:31]


 A
-------
1234
1234A
1235
1236
1247B
12346C
12346D


자료가 저장 될 경우  int 와 char 를 분리시킬 수 있나요?

A    B
--- -----
1234   
1234    A
1235
1236
1247    B
12346  C
12346 D
by 아발란체 [2013.08.28 10:43:46]
WITH T AS (
  SELECT '123223ADFASD' C FROM DUAL
)
SELECT REGEXP_REPLACE(C, '([A-Z]+)', '     \1') FROM T

by 마농 [2013.08.28 10:55:36]
WITH t AS
(
SELECT '1234' a FROM dual
UNION ALL SELECT '1234A'  FROM dual
UNION ALL SELECT '1235'   FROM dual
UNION ALL SELECT '1236'   FROM dual
UNION ALL SELECT '1247B'  FROM dual
UNION ALL SELECT '12346C' FROM dual
UNION ALL SELECT '12346D' FROM dual
)
SELECT a
     -- 1. TRANSLATE --
     , TRANSLATE(a, '0123456789'||a, '0123456789') b
     , TRANSLATE(a, 'a0123456789', 'a') c
     -- 2. REGEXP_SUBSTR
     , REGEXP_SUBSTR(a, '[0-9]+') b
     , REGEXP_SUBSTR(a, '[^0-9]+') c
     -- 3. REGEXP_REPLACE
     , REGEXP_REPLACE(a, '[^0-9]') b
     , REGEXP_REPLACE(a, '[0-9]') c
  FROM t
;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입