#oracle
#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
Пожалуйста, предложите.
Ответ №1:
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) ИЗ t;»