문자열 궁금합니다. 0 5 530

by 구지또 [Oracle 기초] [2021.10.07 08:46:45]


제품-11231G, 사과1K

제품-2120S, 감5C

제품-555A, 배3A

이렇게 데이터가 있는데

뽑고 싶은 데이터는

1123G

2120S

555A

입니다.. 문자열 하려하는데 어렵네요 ㅠ 앞에까지는 뽑겠는데

뒤에, 뒤로 어떻게 해야할지 모르겠습니다.

by swlee [2021.10.07 08:59:27]
select regexp_replace(텍스트, '[^0-9]') from 테이블;

 


by 구지또 [2021.10.07 09:02:32]

내용 수정하였습니다.ㅠ

넘버만 뽑아오면 안되서요


by swlee [2021.10.07 09:28:09]
select substr(txt,instr(txt,'-') + 1, (instr(txt,',') - instr(txt,'-')) -1) from 테이블;

--이렇게 하시면 되지 않을까요?

 


by 구지또 [2021.10.07 09:30:49]

앗! 감사합니다 ㅠ


by 마농 [2021.10.07 09:50:22]
WITH t AS
(
SELECT '제품-11231G, 사과1K' v FROM dual
UNION ALL SELECT '제품-2120S, 감5C' FROM dual
UNION ALL SELECT '제품-555A, 배3A'  FROM dual
)
SELECT v
     , REGEXP_REPLACE(v, '.+-|,.+') x
     , SUBSTR(v, INSTR(v, '-') + 1, INSTR(v, ',') - INSTR(v, '-') - 1) y
     , SUBSTR(v, 4, INSTR(v, ',') - 4) z  -- 항상 "제품-"로 시작한다면?
  FROM t
;


 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입