|
И вновь JSON
|
|||
---|---|---|---|
#18+
Добрый день! Проблема. Имеется таблица с несколькими CLOB полями вида ""date1"":""2021-08-01"",""date2"":""2021-08-20"" ... Нужно распарсить, проблема в двойных задвоенных кавычках. select json_value(""date1"":""2021-08-01"", ""date2"":""2021-08-20"")', '$."date1"') as val_json from dual; не работает. Просьба помочь, кому не лень-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 21:24 |
|
И вновь JSON
|
|||
---|---|---|---|
#18+
Нашел решение с RegExp_Replace select json_value(regexp_replace(t.date_period,'""','"'),'$."date1"') date1, json_value(regexp_replace(t.date_period,'""','"'),'$."date2"') date2 from my_table t Напрашивается убрать двойную нагрузку на regexp_replace при распарсировании одного CLOB поля (date_period) В примере поле CLOB содержит два ключ-значения, в реальности их больше, возможно ли выполнить запрос однократным использованием regexp_replace? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2021, 22:06 |
|
И вновь JSON
|
|||
---|---|---|---|
#18+
one from, зачем тяжелый regexp_replace, когда достаточно простого replace() ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2021, 01:29 |
|
И вновь JSON
|
|||
---|---|---|---|
#18+
Спасибо за Replace. Еще возникла ситуация. В одном из CLOB поле (назовем вновь как date_period ) даты указаны ключами типа ""date1"":[2018,5,23],""date2"":[2020,3,20] то есть без кавычек. Извлечение json_value(replace(t.date_period,'""','"'),'$."date1"') date1 не работает. Пока в ступоре... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2021, 10:09 |
|
И вновь JSON
|
|||
---|---|---|---|
#18+
Получить данные в нормальном виде не представляется возможным? Это json-подобное нечто, но не json. Если у вас такая мешанина форматов, то сначала стоит привести бОльшую часть исходных данных к одному виду, а потом уже что-то из них извлекать. В квадратных скобках json предполагает запись массивов, запросом надо вытаскивать по индексу элемента в массиве. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2021, 11:12 |
|
|
start [/forum/topic.php?fid=52&msg=40092822&tid=1879961]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 242ms |
total: | 361ms |
0 / 0 |