нужно найти сумму значений в этом поле, но при том что они могут быть "null". Postgres ругается что надо кастить к инту чтоб сумму найти. Но кастить не дает потому что не может скастить "jsonb null". Кроме как выгружать значения и руками считать, есть варианты на стороне БД?
CASE, NULLIF, ...
спс нуллиф не прокатило, с кейсами попробую сейчас
COALESCE может помочь
Пробовал, Нет)
coalesce(null::jsonb, '0'::jsonb)::integer
Только nullif, а не coalesce.
он же складывать хочет там где не null ну или я неправильно понял что вообще нужно сделать
Если бы там был SQL NULL -- оно бы и так через sum сложылось.
NULLIF(("attributes" #> ['Профиль P50', 'value']), '0'::jsonb))::double precision cannot cast jsonb null to type double precision
Только там не '0'::jsonb, а что-то вроде 'null'::jsonb или '"null"'::jsonb (посмотрите, что там в этом месте реально за значение).
Да, провтыкал. Просто лучший. Просто лучший) Спасибо)
Обсуждают сегодня