Привет, я новичок в Oracle SQL, я хочу извлечь LiIon Polymer
из 6Cell LiIon Polymer
.
Я использую REGEXP_SUBSTR('6Cell LiIon Polymer', '\S+', 7)
, но он возвращает только LiIon
Привет, я новичок в Oracle SQL, я хочу извлечь LiIon Polymer
из 6Cell LiIon Polymer
.
Я использую REGEXP_SUBSTR('6Cell LiIon Polymer', '\S+', 7)
, но он возвращает только LiIon
Вам нужна подстрока, следующая за первым пробелом? Используйте комбинацию старое-доброе substr
+ instr
. Сначала пример данных, запрос, который может вас заинтересовать, начинается со строки № 4.
SQL> with test (col) as
2 (select '6Cell LiIon Polymer' from dual)
3 --
4 select substr(col, instr(col, ' ') + 1) result
5 from test;
RESULT
-------------
LiIon Polymer
SQL>
Использование регулярного выражения и без жесткого кодирования
select REGEXP_SUBSTR('6Cell LiIon Polymer', '[^\S]+', instr('6Cell LiIon Polymer', ' '), 1) from dual;
REGEXP_SUBSTR('6Cell LiIon Polymer', '.*? (.*)$', 1, 1, NULL, 1)
- person Gary_W; 12.08.2020