문자열 궁금합니다. 0 1 748

by 감동맨 [2022.07.14 19:30:03]


제품-11231G, 사과1K

제품-2120S, 감5C

제품-555A, 배3A

이렇게 데이터가 있는데

뽑고 싶은 데이터는

1123G

2120S

555A

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

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

by 마농 [2022.07.14 20:14:22]

SUBSTR 을 이용하면 되는데
시작은 항상 '제품-' 로 시작한다면? 시작점은 4 로 고정하면 되고
그게 아니라면? - 를 기준으로 , 까지 자르면 되는 것인지?
- 와 , 의 위치를 찾아(INSTR 이용) SUBSTR 의 인자로 이용하시면 됩니다.
다만 모든 자료가 - 와 , 를 갖는지? 아닌 유형도 있는지?
가능한 모든 케이스를 생각해야 합니다.

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
     , SUBSTR(v, INSTR(v, '-') + 1
               , INSTR(v, ',') - INSTR(v, '-') - 1
               ) x
  FROM t
;

 

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