Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Преобразовать строку выборку строк / 9 сообщений из 9, страница 1 из 1
15.11.2020, 21:16
    #40018586
WНаталья
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
Имеется строка, извлеченная из JSON ответа, в котором содержится список пользователей
вида

"user1", "user2", "user3", "user4", "user5", "user6"

Нужно преобразовать ее так, чтобы каждый пользователь был записью SQL запросе выборки .


1 "user1"
2 "user1"
3 "user1"
4 "user1"
5 "user1"


Как это сделать?
...
Рейтинг: 0 / 0
15.11.2020, 21:24
    #40018594
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
WНаталья
Как это сделать?
Ты уверена, что нужно именно оболгать данные?
...
Рейтинг: 0 / 0
15.11.2020, 23:57
    #40018624
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
WНаталья,

Если тебе не нужны 5 user1 :)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
with t1(s) as (select '"user1", "user2", "user3", "user4", "user5", "user6"' from dual)
, t2(s0,lvl1,lvl2,pos1,pos2) as (
select
s
,((level-1)*2)+1
,((level-1)*2)+2
,instr(s,'"',1,((level-1)*2)+1)
,instr(s,'"',1,((level-1)*2)+2)
from t1
connect by level <= 6
)
select * from t2;

S0                                                         LVL1       LVL2       POS1       POS2
---------------------------------------------------- ---------- ---------- ---------- ----------
"user1", "user2", "user3", "user4", "user5", "user6"          1          2          1          7
"user1", "user2", "user3", "user4", "user5", "user6"          3          4         10         16
"user1", "user2", "user3", "user4", "user5", "user6"          5          6         19         25
"user1", "user2", "user3", "user4", "user5", "user6"          7          8         28         34
"user1", "user2", "user3", "user4", "user5", "user6"          9         10         37         43
"user1", "user2", "user3", "user4", "user5", "user6"         11         12         46         52



Надеюсь, substr напишешь сама
...
Рейтинг: 0 / 0
16.11.2020, 10:51
    #40018702
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
WНаталья,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SQL> ed
Wrote file afiedt.buf

  1* select * from xmltable('"user1", "user2", "user3", "user4", "user5", "user6"') x
SQL> /

COLUMN_VALUE
--------------------------------------------------------------------------------
user1
user2
user3
user4
user5
user6

6 rows selected.




.....
stax
...
Рейтинг: 0 / 0
17.11.2020, 11:19
    #40019304
WНаталья
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
Stax,

супер.
А как теперь перевести XMLTYPE в VARCHAR2?
...
Рейтинг: 0 / 0
17.11.2020, 11:31
    #40019313
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
WНаталья
Stax,

супер.
А как теперь перевести XMLTYPE в VARCHAR2?


откуда XMLTYPE, если "Имеется строка , ..."

ps
разобрать строку можно по разному напр 22232545
токо я б искал запятую, а не кавычку

.....
stax
...
Рейтинг: 0 / 0
17.11.2020, 11:40
    #40019326
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
WНаталья,

Oracle SQL Reference CAST
...
Рейтинг: 0 / 0
17.11.2020, 12:08
    #40019344
WНаталья
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
Stax,
потому, что (см картинку)

далее выборку пользователей нужно использовать в другом запросе
...
Рейтинг: 0 / 0
17.11.2020, 14:26
    #40019440
exciter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать строку выборку строк
WНаталья,

Код: plsql
1.
select x.column_value.getstringval() strval from xmltable('"user1", "user2", "user3", "user4", "user5", "user6"') x
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Преобразовать строку выборку строк / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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