2010-12-21 133 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個字符。 有人可以幫助我。

回答

0

這就是:

SUBSTR(field, 0, 4) 
+2

0或許也可以,但是指數從1 – Thilo 2010-12-21 06:01:33

+0

@Thilo開始:哎呀,但它並不明顯:-S – zerkms 2010-12-21 06:02:41

+0

0被視爲1,並且負面指數從右側開始計數:http://www.adp-gmbh.ch/ora/sql/substr.html – Thilo 2010-12-21 06:05:16

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

您可以使用SUBSTR(像你已經做):

SUBSTR(value, 1, 4) 
相關問題