2011-10-20 14 views
4

ORACLE最初の単語の後にスペースを削除することで、まず名前を選択: - を表でORACLE: -

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

を次のようにファーストネームは、私は次の形式で最初に名前を選択したいです

私は次のクエリを使用していますが、運

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

親切にsuコマンドを持たない

Binda                    
Reven                     
Drew            
ANDAL                       
WILL            
Chad 

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

「NVL(SUBSTR(FIRST_NAME、1、INSTR(FIRST_NAMEを選択、' '))、 first_name)FROM t; " – Fransis