powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление всех символов строки после определенного символа
14 сообщений из 14, страница 1 из 1
Удаление всех символов строки после определенного символа
    #35790267
Надо удалять все символы после символа '.' в строке. Так же необходимо удалить все пробелы в начале строки если есть. Например:
Есть: '123.5' надо получить '123'
Есть: ' 12' надо получить '12'
Есть: ' 12.' надо получить '12'
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #35790273
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий_КунинНадо удалять все символы после символа '.' в строке. Так же необходимо удалить все пробелы в начале строки если есть. Например:
Есть: '123.5' надо получить '123'
Есть: ' 12' надо получить '12'
Есть: ' 12.' надо получить '12'А как вы пробовали? :)
Код: plaintext
substr(ltrim(field),  1 , instr(ltrim(field)||'.', '.')- 1 )
Где-то так
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #35790278
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий_Кунин,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
WITH t AS (SELECT   '123.5' c FROM DUAL
           UNION SELECT   ' 12' FROM DUAL
           UNION SELECT   ' 12.' FROM DUAL
           UNION SELECT   '.12' FROM DUAL)
SELECT   TRIM(CASE
                 WHEN INSTR (c, '.') >  0 
                 THEN
                    SUBSTR (c,  0 , INSTR (c, '.') -  1 )
                 ELSE
                    c
              END)
  FROM t
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #35790287
andreymx, спасибо, заработало.
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #35790299
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
Код: plaintext
substr(ltrim(field),  1 , instr(ltrim(field)||'.', '.')- 1 )
Где-то так

4k
Код: plaintext
1.
2.
3.
with t as (
select '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' c from dual
)
select substr(ltrim(c),  1 , instr(ltrim(c)||'.', '.')- 1 ) from t;
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #35790302
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,

+1
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #35790450
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
If you are on 10g:

Код: plaintext
1.
LTRIM(REGEXP_SUBSTR(source_string,'^[^.]*'))

SY.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Удаление всех символов строки после определенного символа
    #39540610
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SYIf you are on 10g:

Код: plsql
1.
LTRIM(REGEXP_SUBSTR(source_string,'^[^.]*'))



SY.

чтобы не плодить новую тему может кто подскажет, как отрезать симовлы с конца, т.е. из строки вида:
100.22.334.56
получить
100.22.334
может можно использовать выражение гуру:
Код: plsql
1.
LTRIM(REGEXP_SUBSTR(source_string,'^[^.]*'))


но пока не пойму как применить для своего случая
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #39540613
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trace.log,
?
Код: plsql
1.
substr(c,0,instr(c,'.',-1) -1)
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #39540617
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
K790trace.log,
?
Код: plsql
1.
substr(c,0,instr(c,'.',-1) -1)



спасибо и за такой вариант...а регулярка может проще?
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #39540618
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
> with t as (select '100.22.334.56' str from dual)
select str
     , regexp_replace(str,'\.\d+$','') v1
     , regexp_substr(str, '(.*)\.\d+', 1, 1, null, 1) v2
  from t
STR           V1              V2            
------------- --------------- ---------------
100.22.334.56 100.22.334      100.22.334      
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #39540624
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
> with t as (select '100.22.334.56' str from dual)
select str
     , regexp_replace(str,'\.\d+$','') v1
     , regexp_substr(str, '(.*)\.\d+', 1, 1, null, 1) v2
  from t
STR           V1              V2            
------------- --------------- ---------------
100.22.334.56 100.22.334      100.22.334      



ошибка в 10-ке.
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #39540626
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trace.logошибка в 10-ке.
v2 закомментить?
...
Рейтинг: 0 / 0
Удаление всех символов строки после определенного символа
    #39540630
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

это да, спасибо.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление всех символов строки после определенного символа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]