posgre json
От: nikkit  
Дата: 17.07.23 11:29
Оценка:
пусть есть 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.
как это делается? с постгри раньше дела не имел
Re: posgre json
От: BlackEric http://black-eric.lj.ru
Дата: 17.07.23 11:53
Оценка:
Здравствуйте, nikkit, Вы писали:

How do I modify fields inside the new PostgreSQL JSON datatype?
https://github.com/BlackEric001
Re[2]: posgre json
От: nikkit  
Дата: 17.07.23 12:43
Оценка:
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 эту всю красоту пихать.
или я не туда копаю?
Re[3]: posgre json
От: night beast СССР  
Дата: 19.07.23 21:04
Оценка:
Здравствуйте, nikkit, Вы писали:


BE>>How do I modify fields inside the new PostgreSQL JSON datatype?


N>проблема еще в том, что надо ведь координаты в кейс засунуть.

N>на конструкцию типа

попробуй написать функцию, которая будет все это делать
Re[4]: posgre json
От: nikkit  
Дата: 27.07.23 07:22
Оценка:
NB>попробуй написать функцию, которая будет все это делать
книжку для начинающих буду курить на выходных. одной интуиции в этом изврате явно мало
Re: posgre json
От: vsb Казахстан  
Дата: 27.07.23 07:30
Оценка:
https://chat.openai.com/share/9a7d5f63-b599-4edc-90d7-f702459987ef
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.