불금인데.. 초보자는 해매이네요...
많은 도움 받고 있는 1인 입니다. 부디 신의 가호를...
완전 초보 인데요..
예를 들면 .. aaaa-ccc+001
bbbb-ddd+002
이런 데이터들 중에서 +이후 세자리를 제외한 나머지 aaaa-ccc, bbbb-ddd 만 가져 오고 싶어요.. + 이후 세 자리는 고정입니다.
substr 뭐.. 이런거 저런거 찾아 보고 있는데.. 속시원히 않되네요..
도와 주세요...ㅜㅜ
이거면 되는건가여 .
with v_data as (
select 'aaa-bbb+124' as kk from dual
union all select 'aaa-dfadf12bbb+124' as kk from dual
union all select 'aaa-dfaxx12bb+125' as kk from dual
)
select
substr(kk,1,instr(kk,'+') - 1)
from v_data
WITH t AS ( SELECT 'aaaa-ccc+001' v FROM dual UNION ALL SELECT 'bbbb-ddd+002' FROM dual ) SELECT v , SUBSTR(v, 1, 8) x1 -- 고정자리 자르기(고정자리 가정) , SUBSTR(v, 1, INSTR(v, '+')-1) x2 -- + 위치 이전까지 잘라내기 , SUBSTR(v, 1, LENGTH(v)-4) x3 -- 전체길이-4 만큼 잘라내기 , REGEXP_REPLACE(v, '....$') x4 -- 뒤에 4자리 없애기 , RTRIM(v, '0123456789+') x5 -- 오른쪽 숫자+ 제거(+앞 숫자 없다고 가정) FROM t ;