172 похожих чатов

Народ привет, есть столбец с типом jsonb(пример: { "56": 1642118400,

"67": 1643679408, "94": 1642208957, "177": 1642213866}) и столбец id, как мне правильнее сделать распаковку данного объекта? чтоб на выходе получить три столбца id, key, value?

9 ответов

37 просмотров

Используйте функцию json_each_text на поле с jsonb, на выходе получите два поля key и value с типом "текст". id можно будет просто скопировать, заново выбрать. Привести тип "текст" к целочисленному можно с помощью функции CAST с директивой AS.

D-None Автор вопроса
Алексей
Используйте функцию json_each_text на поле с jsonb...

идея на 1 этапе понятна: select key, value from json_each('{"a":"foo", "b":"bar"}'), но как дальше правильно построить запрос(именно написать) просто не понимаю(

D None
идея на 1 этапе понятна: select key, value from j...

Если дойдут руки, попробую посмотреть, но не обещаю, что это случится сегодня.

D-None Автор вопроса
Алексей
Если дойдут руки, попробую посмотреть, но не обеща...

Буду рад хоть какому нибуть примеру) спасибо за помощь

D None
идея на 1 этапе понятна: select key, value from j...

select id ,tt.* from table1 as t1, jsonb_each_text('{"a":"foo", "b":"bar"}') tt --'{"a":"foo", "b":"bar"}' поле из таблицы это нужно или нет?

D-None Автор вопроса
Anna Novikova
select id ,tt.* from table1 as t1, jsonb_each_tex...

ERROR: cannot call jsonb_each_text on a non-object, поле из таблицы в каком виде нужно подставлять? нужно просто развернуть карту в ключ значение в два столбца

D None
ERROR: cannot call jsonb_each_text on a non-object...

select r.registry_id , tt.key,tt.value from r59.registry r ,jsonb_each_text(r.registry_evnnum::jsonb) tt но у нас поле registry_evnnum varchar, поэтому мы приводили к ::jsonb и все работает, у вас то оно вроде изначально jsonb

D-None Автор вопроса
Anna Novikova
select r.registry_id , tt.key,tt.value from r59.re...

Понял, спасибо, попробую)

D-None Автор вопроса
Anna Novikova
select r.registry_id , tt.key,tt.value from r59.re...

спасибо помогло, ошибка была потому что поле было пустым) не сразу понял

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта