powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Регулярное выражение
5 сообщений из 5, страница 1 из 1
Регулярное выражение
    #39457158
regexp_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, подскажите как получить из строки пустые значения? Спасибо

SQL> SELECT REGEXP_SUBSTR('Журнал><><><N','[^'||'><'||']+',1,1) F1,
2 REGEXP_SUBSTR('Журнал><><><N','[^'||'><'||']+',1,2) F2,
3 REGEXP_SUBSTR('Журнал><><><N','[^'||'><'||']+',1,3) F3 FROM DUAL
4 ;

F1 F2 F3
------ -- --
Журнал N

SQL>

А хотелось бы
F1 F2 F3
------ -- --
Журнал null null
...
Рейтинг: 0 / 0
Регулярное выражение
    #39457174
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
regexp_s,

Что такое N? Число?
...
Рейтинг: 0 / 0
Регулярное выражение
    #39457180
regexp_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trace.log,

N это буква латинского алфавита.
Например для
'Журнал><><><Вокзал'

Нужно получить значения в виде Журнал Пусто Пусто Вокзал, а не Журнал Вокзал Пусто Пусто, как это получается сейчас :(
...
Рейтинг: 0 / 0
Регулярное выражение
    #39457197
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
regexp_s,

Код: sql
1.
2.
3.
4.
SELECT REGEXP_SUBSTR('Журнал><><><N','[^'||'><'||']+',1,1) F1,
REGEXP_SUBSTR('Журнал><><><N','[^'||'><'||']+',1,3) F2,
REGEXP_SUBSTR('Журнал><><><N','[^'||'><'||']+',1,3) F3,
REGEXP_SUBSTR('Журнал><><><N','[^'||'><'||']+',1,2) F4 FROM DUAL;
...
Рейтинг: 0 / 0
Регулярное выражение
    #39457288
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
regexp_s,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQL> with t as (select 'magazine><><><railway_station' value from dual),
  2       x as (select xmltype('<root>' || replace('<' || value || '>', '>', 'X/>') || '</root>') x from t),
  3       y
  4       as (select extract(x, '/root/*[1]') x1,
  5                  extract(x, '/root/*[2]') x2,
  6                  extract(x, '/root/*[3]') x3,
  7                  extract(x, '/root/*[4]') x4
  8             from x)
  9  select substr(replace(x1, 'X/>'), 2) x1,
 10         substr(replace(x2, 'X/>'), 2) x2,
 11         substr(replace(x3, 'X/>'), 2) x3,
 12         substr(replace(x4, 'X/>'), 2) x4
 13    from y;

X1                   X2                   X3                   X4
-------------------- -------------------- -------------------- --------------------
magazine                                                       railway_station

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


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