Подстрока конкретного вхождения - PullRequest
0 голосов
/ 28 мая 2019

У меня есть столбец с типом данных varchar2, данные в нем имеют формат:

100323.3819823.222
100.323123.443422
1001010100.233888
LOL12333.DDD33.44

Мне нужно удалить всю деталь после первого вхождения '.'

Вконец должен выглядеть следующим образом:

100323
100
1001010100
LOL12333

Не могу найти точное выражение подстроки из-за того, что в первой части нет фиксированной длины.

Ответы [ 2 ]

4 голосов
/ 28 мая 2019

Один из способов - использовать REGEXP_SUBSTR:

SELECT REGEXP_SUBSTR(column_name,'^[^.]*') FROM table

Другой способ - объединить SUBSTR с INSTR, что немного быстрее, но в результате NULL, еслиданные не содержат точку, поэтому вам необходимо добавить переключатель, если необходимо:

SELECT SUBSTR(column_name, 1, INSTR(column_name,'.') - 1) FROM table
1 голос
/ 28 мая 2019

Для оракула вы можете попробовать это:

select substr (i,1,Instr(i,'.',i)-1) from Table name.
...