powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по regexp_instr
5 сообщений из 5, страница 1 из 1
Вопрос по regexp_instr
    #39293798
Фотография Ryuu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро.
Можно ли с помощью regexp_instr написать следующее: instr(paths, '/_____999') = 0, где _____ - любые 5 символов? Если да, то как?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
WITH
  t1 AS
  (
    SELECT
      '2 303580006001/2 303999006101/0 109540223002/0 000210950036/1 835509836500/0 109540162004/0 000210950034/1 948130000021'
      AS paths
    FROM
      dual
  )
SELECT
  instr(paths, '/') AS instr,
  paths
FROM
  t1
WHERE
  SUBSTR(paths, 1, 1) != '0'
  --  AND instr(paths, '/0') = 0
  ;



Нужно, чтобы в этом запросе изделие 2 303999006101 не проходило проверку. И как вы, надеюсь, понимаете, цифры могут меняться, все, кроме 999, но девятки могут быть и в других позициях, и при этом считаться "нормальными".

Need help!

P`s.
Ушел курить regexp_instr
...
Рейтинг: 0 / 0
Вопрос по regexp_instr
    #39293814
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ryuu,

{}
...
Рейтинг: 0 / 0
Вопрос по regexp_instr
    #39293823
Фотография Ryuu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал через NOT LIKE '%/_____999%', что-то у меня мозг сегодня от ремонта на этаже оплавился и отказался думать... Р_Р
...
Рейтинг: 0 / 0
Вопрос по regexp_instr
    #39294983
Migelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ryuu,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
WITH
  t1 AS
  (
    SELECT
      '2 303580006001/2 303999006101/0 109540223002/0 000210950036/1 835509836500/0 109540162004/0 000210950034/1 948130000021'
      AS paths
    FROM
      dual
      union all
    SELECT
      '2 303999006001/2 303777006101/0 109540223002/0 000210950036/1 835509836500/0 109540162004/0 000210950034/1 948130000021'
      AS paths
    FROM
      dual
  )
SELECT
  instr(paths, '/') AS instr,
  paths,
  regexp_instr(paths,'(/|^).{5}999')
FROM
  t1
WHERE
  SUBSTR(paths, 1, 1) != '0';
...
Рейтинг: 0 / 0
Вопрос по regexp_instr
    #39304560
Фотография Ryuu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Migelle, спасибо! Извините, что не ответил сразу.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по regexp_instr
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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