2011-10-20 33 views
4

ORACLE: - 在表中的第一名稱如下ORACLE: - 首先選擇名稱,由第一個字後,除去空間

Binda E                    
Reven O                    
Drew J            
ANDAL J                      
WILL Lee            
Chad Hardee 

我要在以下格式來選擇名字

Binda                    
Reven                     
Drew            
ANDAL                       
WILL            
Chad 

我使用下面的查詢,但沒有運氣

SELECT first_name, SUBSTR(first_name, REGEXP_INSTR('first_name','[^ ]+', 1, 1)) FROM contact.user_names 

請蘇ggest。

回答

6

NVL(SUBSTR(如first_name,1,INSTR(如first_name,」 ')),如first_name)

with t AS 
    (
    SELECT 'Binda E ' as first_name FROM dual                   
    union 
    SELECT 'Reven O ' as first_name FROM dual                    
    union 
    SELECT 'Drew J ' as first_name FROM dual           
    union 
    SELECT 'ANDAL J ' as first_name FROM dual                     
    union 
    SELECT 'WILL Lee ' as first_name FROM dual           
    union 
    SELECT 'Chad Hardee' as first_name FROM dual 
    union 
    SELECT 'foobar' as first_name FROM dual 

    ) 
    SELECT NVL(substr(first_name, 1, instr(first_name,' ')), first_name) FROM t 
    ; 
+1

我使用「SELECT NVL(SUBSTR(如first_name,1,INSTR(如first_name,'')), first_name)FROM t;「 – Fransis

相關問題