@wilburn
В PostgreSQL существует несколько функций и операторов, которые позволяют работать с JSON-полями. Вот некоторые из них:
- jsonb: Это специальный тип данных в PostgreSQL, который предоставляет более эффективное хранение и манипуляцию с JSON.
- jsonb_build_object: Эта функция позволяет создавать JSON-объекты на основе пар ключ-значение. Например:
1
|
SELECT jsonb_build_object('name', 'John', 'age', 30) AS person;
|
Вернет результат:
1
|
{"name": "John", "age": 30}
|
- ->: Этот оператор позволяет извлекать значение по ключу из JSON-объекта. Например:
1
|
SELECT '{"name": "John", "age": 30}' -> 'name' AS name;
|
Вернет результат:
- #>>: Этот оператор позволяет извлекать значение по пути из JSON-объекта. Например:
1
|
SELECT '{"person": {"name": "John", "age": 30}}' #>> '{person, name}' AS name;
|
Вернет результат:
- ||: Этот оператор позволяет объединять два или более JSON-объекта. Например:
1
|
SELECT '{"name": "John"}' || '{"age": 30}' AS person;
|
Вернет результат:
1
|
{"name": "John", "age": 30}
|
- jsonb_agg: Эта функция позволяет агрегировать строки в массив JSON-объектов. Например:
1
2
|
SELECT jsonb_agg(jsonb_build_object('name', name, 'age', age)) AS people
FROM users;
|
Вернет результат:
1
|
[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]
|
Это лишь некоторые примеры функций и операторов, доступных в PostgreSQL для работы с JSON. В PostgreSQL есть еще множество других возможностей, которые могут быть полезными при работе с JSON-полями. Можно ознакомиться с деталями в документации PostgreSQL.