пусть есть json
{
"type":"Polygon",
"coordinates":[
[
[
-232.270687843,
50.118657428
],
[
-232.270687843,
50.129283432
],
[
-232.239879191,
50.129283432
],
[
-232.239879191,
50.118657428
],
[
-232.270687843,
50.118657428
]
]
]
}
нужно в запросе (например select geom from t), который возвращает данный json поменять отрицательные значения, скажем на 0.
как это делается? с постгри раньше дела не имел
BE>How do I modify fields inside the new PostgreSQL JSON datatype?
проблема еще в том, что надо ведь координаты в кейс засунуть.
на конструкцию типа
SELECT
case
when jsonb_path_query(geom, '$.coordinates[0][0][0]')::numeric < -180 then
jsonb_path_query(geom, '$.coordinates[0][0][0]')::numeric + 360
else jsonb_path_query(geom, '$.coordinates[0][0][0]')::numeric
end
from t
ругается set-returning functions are not allowed in CASE
а мне еще ведь в jsonb_path_query эту всю красоту пихать.
или я не туда копаю?
Здравствуйте, nikkit, Вы писали:
BE>>How do I modify fields inside the new PostgreSQL JSON datatype?
N>проблема еще в том, что надо ведь координаты в кейс засунуть.
N>на конструкцию типа
попробуй написать функцию, которая будет все это делать