
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.09.2018, 15:41
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
Добрый день! Прошу помочь, есть строка вида 'ORDER_NO=E102180^RELEASE_NO=4^SEQUENCE_NO=1^' Нужно оставить только ' RELEASE_NO=4 ' или просто '4' в данном случае. Так как значения E102180 и 1(в конце) могут меняться по длине символов, то просто обрезать не выйдет. Можно ли как то оставить только значение между ^ ^ например? Или как то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.09.2018, 15:55
|
|||
|---|---|---|---|
Удалить все кроме |
|||
|
#18+
GraveHeaDпросто обрезать не выйдет Не знаю, чего тут может не выйти у substr(instr(...)). А есть еще регулярки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.09.2018, 15:57
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
Можно пример? С substr(instr(...) я только смог удалить все после первого ^ А вот середину, не могу понять. Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.09.2018, 16:00
|
|||
|---|---|---|---|
Удалить все кроме |
|||
|
#18+
GraveHeaDНужно оставить только ' RELEASE_NO=4 ' или просто '4' в данном случае.В данном случае достаточно Код: plsql 1. RTFM regexp_substr ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.09.2018, 16:06
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
GraveHeaDМожно пример? С substr(instr(...) я только смог удалить все после первого ^ А вот середину, не могу понять. Заранее спасибо Для начала залезть в документацию: Database SQL Language Reference И увидеть, что и instr имеет не два параметра а больше Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ~ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.09.2018, 16:09
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
Спасибо. Сейчас буду разбираться. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.09.2018, 22:27
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
Если именно значение 4 нужно, то лет триста назад была написана функция Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. После чего Код: plsql 1. Для коротких строк, на CLOB'ы уж самостоятельно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.09.2018, 23:53
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
GraveHeaD, упростите жизнь тем, кто будет это потом сопровождать Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.09.2018, 07:34
|
|||
|---|---|---|---|
Удалить все кроме |
|||
|
#18+
xtenderупростите жизнь тем, кто будет это потом сопровождать Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.09.2018, 07:52
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
Вот так в итоге сделал. REGEXP_SUBSTR(name, 'RELEASE_NO\s*=\s*([[:alnum:],. ]+)', 1, 1, '', 1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.09.2018, 07:56
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
xtenderGraveHeaD, упростите жизнь тем, кто будет это потом сопровождать Код: plsql 1. Спасибо, так тоже работает. Сделал для Sequence так. Честно говоря, раньше у меня был 9й оракл, 10й только только. Регулярки только с него начинают работать. Есть чему учится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.09.2018, 15:57
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
GraveHeaD, Нужно учитывать следующее, при большом количестве операций, INSTR/SUBSTR, будут легче REGEXP_SUBSTR Но тут как говорится нужно посмотреть, если не жмет, то сопровождать легче REGEXP_SUBSTR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.10.2018, 08:19
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
Vadim Lejnin, Да, это я уже уточнил. В девелопере все достаточно быстро делается. А вот в клиенте, что то не особо, с другой стороны это вероятно пролема клиента, т.к. instr subst не особо то быстрее проходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.10.2018, 08:23
|
|||
|---|---|---|---|
Удалить все кроме |
|||
|
#18+
GraveHeaDВ девелопере все достаточно быстро делается. А вот в клиенте, что то не особо, с другой стороны это вероятно пролема клиента, т.к. instr subst не особо то быстрее проходят.Типичная ошибка новичков - делать выводы. Да вообще, пытаться делать выводы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.10.2018, 10:53
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
Elic, Уж простите, но в данной ветке (не знаю, как в других) от вас толку нет, только полемика и ссылки. Остальные помогли значительно больше. Философствовать у меня времени нет, ибо Oracle и PLSQL далеко не первозадача для меня. Поэтому, раз Вы такой крутой - либо помогайте, либо не лезьте в размышления о выводах и новичках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.10.2018, 14:33
|
|||
|---|---|---|---|
Удалить все кроме |
|||
|
#18+
GraveHeaDФилософствовать у меня времени нет, ибо Oracle и PLSQL далеко не первозадача для меня. Поэтому, раз Вы такой крутой - либо помогайте, либо не лезьте в размышления о выводах и новичках. А зря. Ведь если пофилосовствовать на тему "В девелопере все достаточно быстро делается. А вот в клиенте, что то не особо" то ваяснится что девелопер при выполнении выбирает (fetch) поэкранно. Т.e. многие "не философствующие" считают что время выборки первого экрана это и есть время выполнения а в действительности SQL может выбирать десятки тысяч строк и реальное время выполнения куда больше что и показывает реальный клиент. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.10.2018, 16:15
|
|||
|---|---|---|---|
|
|||
Удалить все кроме |
|||
|
#18+
SYа в действительности SQL может выбирать десятки тысяч строк Не обязательно даже "выбирать". Внутренняя кинематика процесса может быть весьма различной (требуемые записи сильно разнесены по сегменту при FTS, случился многопроходный HJ, часть разделов таблицы лежит на медленном/перегруженном шпинделе или еще какая бяка), но в предельном случае эффект "первая запись сейчас, полная выборка сильно позже" можно продемонстрировать на очень незначительном числе "выбираемых" (передаваемых клиенту) строк. С другой стороны, "клиент" может, к примеру, физически делать построчный фетч, испытывать недостаток физической оперативной памяти под крупную выборку или иные затруднения, в т.ч. с сетью (которые, кстати, могут быть весьма себе рукотворными). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1883383]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 372ms |

| 0 / 0 |
