ORACLE:- SELECT First Names ,通过删除第一个单词后的空格

标签 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

请建议。

最佳答案

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
    ;

关于ORACLE:- SELECT First Names ,通过删除第一个单词后的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7838218/

相关文章:

oracle - (又一个) "Missing Right Parenthesis"

sql - 在多个 Oracle 服务器上运行相同的 sql 查询和聚合结果的工具

sql - 6 个月或更长时间的负账款,无论交易如何

oracle - 将光标记录传递给函数

oracle - 我应该避免使用主键并使用索引的唯一列吗?

oracle - 在 Oracle Express 中创建触发器

sql - 在oracle中连接值

java - 如何避免使用 Hibernate 从 VARCHAR 到 VARCHAR2 的隐式类型转换?

mysql 存储例程与 mysql 替代方案?

sql - 在实体中使用没有主键的 View