0
DO
$$
DECLARE
array_ json;
category_name text;
category_ json:='{"Maincategory":"Vehicle","Categoryname":"Car"}'::json;
BEGIN
category_name:=(SELECT category_ ->'Maincategory'::text) ;
array_:=(SELECT elements -> category_name FROM webuser.footable WHERE id=somenumber)::json;
raise notice '%',array_ ;
END
$$;
elements
(json)
|-------------------------------------------------------------------------------------|
|{"Vehicle": [{"Car": 3}, {"Truck": 1}], "Office": [{"Printer": 3}, {"Desk": 8}]} |
У меня есть столбец элементов, и я хочу, чтобы получить массив транспортного средства, который ([{"Car": 3}, {"Truck": 1}]
), который будет храниться в array_ переменной. Я получаю array_ всегда null. Что не так с этим кодом?не может получить значение объекта JSON POSTGRESQL 9.6
, что работает, но если Я использую переменную (в этом случае: category_name) вместо «Vehicle», чем она не работает. – sommeguyy
@sommeguyy Я обновил ответ - mind '->' отличается от '- >>' –