powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / шаблон для regexp_like
12 сообщений из 12, страница 1 из 1
шаблон для regexp_like
    #39730544
Добрый день, прошу помощь по шаблону для regexp_like

нужно отбирать записи где в строке встречается '10' в 9 и 10 позиции, до нее может быть 8 любых символов, дальше тоже могут быть любые символы


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with sel as
 (select 'BY30MTBK20dddd' as val from dual 
   union all
  select 'BY30MTBK30dddd' as val from dual 
   union all
  select 'BY30MTBK10dddd' as val from dual
   union all
  select 'BY30MTBK1010' as val
    from dual)
  
select *
  from sel
 where regexp_like(val, '(.{8})10(.*)')



пробую вот такой шаблон, но он выбирает 2 последние строки, а хотелось бы, чтобы была отобрана только BY30MTBK10dddd
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730551
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Чирковно он выбираетПотому что не заякорился за начало строки.
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730553
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Чирковно он выбирает 2 последние строки, а хотелось бы, чтобы была отобрана толькоС какой это стати?
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730554
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Чирков,

Последняя строка соответствует
Виктор Чирковдальше тоже могут быть любые символы

Вашей постановке отвечает и более простое решение
Код: plsql
1.
 where substr(val,9,2)='10'
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730557
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Чирков,

Код: plsql
1.
NOT SUBSTR(val, 11) LIKE '10%'

?
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730560
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ma1tus,

ой)
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730563
авторВашей постановке отвечает и более простое решение

нужно именно с regexp_like, по ряду причин
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730570
авторПотому что не заякорился за начало строки.

попробовал вот такой вариант
Код: sql
1.
regexp_like(val, '^.{8}10(.*)')



но результат все равно выдает 2 строки
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730573
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Чирковно результат все равно выдает 2 строкиПотому что вредно отключать мозги.
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730599
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Чирковнужно отбирать записи где в строке встречается '10' в 9 и 10 позиции, до нее может быть 8 любых символов, дальше тоже могут быть любые символы


пробую вот такой шаблон, но он выбирает 2 последние строки, а хотелось бы, чтобы была отобрана только BY30MTBK10dddd

Выражаться надо яснее. Цифра тоже символ. Похоже под "любые символы" ты имеешь ввиду "не цифрa", а может буквы, а может x.з. И только один символ непосредственно после 10 или после 10 идо конца? Поясни. Если "не цифрa" непосредственно после 10, то:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
with sel as
 (select 'BY30MTBK20dddd' as val from dual 
   union all
  select 'BY30MTBK30dddd' as val from dual 
   union all
  select 'BY30MTBK10dddd' as val from dual
   union all
  select 'BY30MTBK1010' as val
    from dual)
select *
  from sel
 where regexp_like(val, '^.{8}10\D')
/

VAL
--------------
BY30MTBK10dddd

SQL> 



SY.
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730610
Да ну
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор Чирковпопробовал вот такой вариант
Код: sql
1.
regexp_like(val, '^.{8}10(.*)')


но результат все равно выдает 2 строки
Это хотел?
Код: plsql
1.
regexp_like(val, '^.{8}10[^0-9]*$')
...
Рейтинг: 0 / 0
шаблон для regexp_like
    #39730706
SYВыражаться надо яснее. Цифра тоже символ. Похоже под "любые символы" ты имеешь ввиду "не цифрa", а может буквы, а может x.з. И только один символ непосредственно после 10 или после 10 идо конца? Поясни. Если "не цифрa" непосредственно после 10, то:

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


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