database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41140 게시물 읽기
No. 41140
쿼리 도와 주세요.. ㅜㅜ
작성자
초보
작성일
2016-04-22 16:40
조회수
8,506

불금인데.. 초보자는 해매이네요...

많은 도움 받고 있는 1인 입니다. 부디 신의 가호를...

완전 초보 인데요..

예를 들면 .. aaaa-ccc+001

                    bbbb-ddd+002

이런 데이터들 중에서 +이후 세자리를 제외한 나머지 aaaa-ccc, bbbb-ddd 만 가져 오고 싶어요.. + 이후 세 자리는 고정입니다.

substr 뭐.. 이런거 저런거 찾아 보고 있는데.. 속시원히 않되네요..

도와 주세요...ㅜㅜ

이 글에 대한 댓글이 총 2건 있습니다.

이거면 되는건가여 .

 

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

이정재(ljjang)님이 2016-04-22 17:55에 작성한 댓글입니다.

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
;

마농(manon94)님이 2016-04-25 08:41에 작성한 댓글입니다.
이 댓글은 2016-04-25 08:42에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
41143쿼리 도움 요청 드립니다..
검콤이
2016-04-26
8811
41142쿼리 도와주세요^^ [3]
강승현
2016-04-25
8367
41141마농님 좀 도와주세요 ㅠㅠ
박양희
2016-04-25
8297
41140쿼리 도와 주세요.. ㅜㅜ [2]
초보
2016-04-22
8506
41139시청률 분포도 구하는 쿼리 질문드립니다.. [5]
박양희
2016-04-22
8820
41138순차적으로 잔액 차감하는 쿼리좀 도와주세요...ㅜ.ㅜ [1]
도끼
2016-04-22
9177
41136역 계층구조 쿼리 질문드립니다. [1]
안드로메지션
2016-04-21
8323
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다