2010-12-21 10 views
0

다음 쿼리를 사용하여 특정 문자열을 가져올 수 있습니다.이 출력 문자열에는 영숫자 문자.e.g.abcd123, pqrs542356이 포함되어 있습니다. 이제 항상 알파 베이트가 될이 문자열의 처음 4 자만 가져 오려고합니다.oracle에서 문자열의 4 문자를 가져 오는 방법은 무엇입니까?

는 쿼리 ::

(SELECT SUBSTR(in_msg, INSTR(in_msg,'?', 1, 10)+ 1, INSTR(in_msg,'?', 1, 11) - INSTR(in_msg,'?', 1, 10)- 1) 
FROM emp_message 
WHERE emp_no IN (SELECT emp_no 
        FROM main_table 
        WHERE name like '%abcd%') 

이 쿼리는 e.g.abcd1234, pqrs145423로 출력을 반환합니다. 다시이 쿼리 출력에서 ​​처음 4 자만 가져 오려고합니다. 누군가가 나를 도울 수 있습니까? (이미처럼)

SUBSTR(field, 0, 4) 

답변

0

그 것이다

SUBSTR(value, 1, 4) 
+2

0 아마도 작동하지만 인덱스는 1 – Thilo

+0

@Thilo에서 시작 : 죄송 합니다만, 그것은 분명하지 않습니다 : -S – zerkms

+0

0은 1로 처리되고, 음수 인덱스는 오른쪽에서부터 계산됩니다. http://www.adp-gmbh.ch/ora/sql/substr.html – Thilo

0
select substr(x, 1, 4) from 
    (select x from ..... ) 
4

당신은 SUBSTR을 사용할 수 있습니다 : 여기

관련 문제