Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / выбор данных в формате json / 15 сообщений из 15, страница 1 из 1
11.11.2018, 14:49
    #39731337
martini86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
Имеется таблица, и в одном столбце данные записаны в формате JSON.
Например "{"id": "4de92829-f572-40c2-86bf-0311beeb9b8c", "code": "BUS", "name": "Автобусы", "note": null}"

Нужно найти у которых не задан или отличный от "code":"BUS".
...
Рейтинг: 0 / 0
15.11.2018, 07:22
    #39733287
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
martini86,

и что за СУБД?
...
Рейтинг: 0 / 0
15.11.2018, 16:31
    #39733653
martini86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
Дмитрий Мухmartini86,

и что за СУБД?

PostgreSQL
...
Рейтинг: 0 / 0
16.11.2018, 22:51
    #39734407
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
martini86Дмитрий Мухmartini86,

и что за СУБД?

PostgreSQL
Дык шли бы в соответствующий раздел форума, Вас бы там быстро послали мануал читать, ну или https://habr.com/post/254425/

Модератор: Тема перенесена из форума "Другие СУБД".
...
Рейтинг: 0 / 0
17.11.2018, 14:13
    #39734530
martini86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
skyANA,

Данный раздел не нашла, поэтому так и создала. Читала уже все источники. Варианты как вывести нашла, но проблема теперь в том что запросы не выполняются. Выдаёт ошибку на то что оператор не существует. Ругается на @>, ->, ->> и т.д., т.е на все операторы которые используются при json
...
Рейтинг: 0 / 0
17.11.2018, 14:48
    #39734538
grgdvo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
martini86,

тип данных поля где лежит json какой???
...
Рейтинг: 0 / 0
17.11.2018, 15:32
    #39734553
martini86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
grgdvomartini86,

тип данных поля где лежит json какой???

Text
...
Рейтинг: 0 / 0
18.11.2018, 01:31
    #39734673
grgdvo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
martini86,

сначала преобразуйте в json (встроенный тип данных, to_json), потом применяйте операторы.
лучше сразу хранить исходные данные в типе данных json или jsonb, чтобы не тратить время на конвертацию.
...
Рейтинг: 0 / 0
18.11.2018, 08:38
    #39734712
martini86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
grgdvomartini86,

сначала преобразуйте в json (встроенный тип данных, to_json), потом применяйте операторы.
лучше сразу хранить исходные данные в типе данных json или jsonb, чтобы не тратить время на конвертацию.

Спасибо.Попробую. Но на самом деле я не знаю как эта таблица создана. Дали таблицу, сказали, что данные в таком формате, сделай запрос.
...
Рейтинг: 0 / 0
19.11.2018, 17:06
    #39735239
FanRammstein
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
Наверное как-то так
Код: plsql
1.
2.
select * from _TABLE 
WHERE (JSON_FIELD::json)->>'code' !='BUS'
...
Рейтинг: 0 / 0
19.11.2018, 21:48
    #39735341
martini86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
FanRammsteinНаверное как-то так
Код: plsql
1.
2.
select * from _TABLE 
WHERE (JSON_FIELD::json)->>'code' !='BUS'



Запрос сработал, но вывелась только таблица без данных.
...
Рейтинг: 0 / 0
19.11.2018, 21:51
    #39735343
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
martini86FanRammsteinНаверное как-то так
Код: plsql
1.
2.
select * from _TABLE 
WHERE (JSON_FIELD::json)->>'code' !='BUS'



Запрос сработал, но вывелась только таблица без данных.


WHERE (JSON_FIELD::json)->>'code' !='BUS' OR (JSON_FIELD::json)->>'code' IS NULL
...
Рейтинг: 0 / 0
19.11.2018, 22:07
    #39735346
martini86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
Maxim Bogukmartini86пропущено...


Запрос сработал, но вывелась только таблица без данных.


WHERE (JSON_FIELD::json)->>'code' !='BUS' OR (JSON_FIELD::json)->>'code' IS NULL

Запрос срабатывает. Но условие не выполняется. Выводит все, что есть в таблице.
...
Рейтинг: 0 / 0
19.11.2018, 22:22
    #39735350
martini86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
"{....... "category": {"id": "4de92829-f572-40c2-86bf-0311beeb9b8c", "code": "BUS", "name": "Автобусы", "note": null}, "operator": {"id": "340b4191-ac (...)"

SELECT *
FROM terminal
WHERE (details::json)->> 'category' IS NULL

Если так то срабатывает. Но думаю что это неверно. Т.к. искать нужно все таки по "code": "BUS".

Даже если и так брать WHERE (details::json)->>'category != 'BUS' уже выдает опять все данные по таблице, т.е. условие не срабатывает.
...
Рейтинг: 0 / 0
20.11.2018, 09:33
    #39735428
Guzya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор данных в формате json
Не специалист в postgres, но может надо иерархию указать, что-то типа такого "category"-> "code".
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / выбор данных в формате json / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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