powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разбор
13 сообщений из 13, страница 1 из 1
Разбор
    #39810063
BSK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSK
Гость
Добрый день!
Подскажите, есть вот такая строка

WITH st AS (SELECT 'Дополнительная маркировка в г. Артем (ПК(АА)МВРРШ-2/1604)' STR FROM DUAL
) SELECT str,
REGEXP_SUBSTR( STR, '\(([^)]+)\)', 1, 1, NULL, 1 ) ,
regexp_replace(regexp_replace(str,'.','',instr(str,'('),1),'.','',instr(str,')',-1)-1,1) FROM st;

Подскажите , как вынуть из нее текст от первой до последней скобки, чтобы привести его к виду

ПК(АА)МВРРШ-2/1604
спасибо.
...
Рейтинг: 0 / 0
Разбор
    #39810071
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BSK,

substr
...
Рейтинг: 0 / 0
Разбор
    #39810073
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуем уточнить задачу:
BSKвынуть из нее текст от первой открывающей до парной закрывающей скобки?
...
Рейтинг: 0 / 0
Разбор
    #39810103
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
WITH st(str) AS (SELECT '((Дополнительная маркировка в г. Артем (ПК(АА)МВРРШ-2/1604)))' FROM DUAL
)
SELECT str FROM st UNION ALL
SELECT
   SUBSTR(str,INSTR(str,'(',1,level) + 1,INSTR(str,')',-1,level) - INSTR(str,'(',1,level) - 1)
FROM st
CONNECT BY LEVEL  <  REGEXP_COUNT(STR,'\(') + 1
/

STR
--------------------------------------------------------------------------------
((Дополнительная маркировка в г. Артем (ПК(АА)МВРРШ-2/1604)))
(Дополнительная маркировка в г. Артем (ПК(АА)МВРРШ-2/1604))
Дополнительная маркировка в г. Артем (ПК(АА)МВРРШ-2/1604)
ПК(АА)МВРРШ-2/1604
АА
SQL> 
...
Рейтинг: 0 / 0
Разбор
    #39810114
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin
Код: plsql
1.
WITH

Понимаешь ли ты и подобные свою ответственность, давая нерецептурированную гранату обезьянам, которые в других обстоятельствах применят её так же, но с совершенно другим непредсказуемым результатом?
Стоит ли твоя скука на (без)работе этого?
...
Рейтинг: 0 / 0
Разбор
    #39810131
BSK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSK
Гость
AmKad,


да, оставив только вот эти данные
ПК(АА)МВРРШ-2/1604
...
Рейтинг: 0 / 0
Разбор
    #39810137
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicVadim Lejnin
Код: plsql
1.
WITH

Понимаешь ли ты и подобные свою ответственность, давая нерецептурированную гранату обезьянам, которые в других обстоятельствах применят её так же, но с совершенно другим непредсказуемым результатом?
Стоит ли твоя скука на (без)работе этого?

Понял, исправляюсь :)

INSTR

Дока
* position is an nonzero integer indicating the character of string where Oracle Database begins the search—that is, the position of the first character of the first substring to compare with substring. If position is negative, then Oracle counts backward from the end of string and then searches backward from the resulting position.

* occurrence is an integer indicating which occurrence of substring in string Oracle should search for. The value of occurrence must be positive. If occurrence is greater than 1, then the database does not return on the first match but continues comparing consecutive substrings of string, as described above, until match number occurrence has been found.
...
Рейтинг: 0 / 0
Разбор
    #39810185
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BSK...от первой до последней скобки...
Код: plsql
1.
2.
3.
WITH st AS (SELECT 'Дополнительная маркировка в г. Артем (ПК(АА)МВРРШ-2/1604)' STR FROM DUAL) 

SELECT str, REGEXP_SUBSTR( STR, '\((.*)\)',1,1,null,1) FROM st
...
Рейтинг: 0 / 0
Разбор
    #39810231
BSK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BSK
Гость
Dshedoo,
огромное спасибо. очень помогли
...
Рейтинг: 0 / 0
Разбор
    #39810275
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim LejninПонял, исправляюсь :)Юродствуешь? Ничерта ты не понял…
...
Рейтинг: 0 / 0
Разбор
    #39816659
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicVadim LejninПонял, исправляюсь :)Юродствуешь? Ничерта ты не понял…
а объясните пожалуйста. Судя по первой цитате диалога, нужно обратить внимание на with.
А в чем там опасность?
...
Рейтинг: 0 / 0
Разбор
    #39816673
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovнужно обратить внимание на with.Не нужно.
Vladimir Baskakovопасность?Кормление с ложечки гомогенизированной пищей.
...
Рейтинг: 0 / 0
Разбор
    #39817276
Lary Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicСтоит ли твоя скука на (без)работе этого?

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


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