Comments 7
=# select 'true' :: jsonb :: bool;
bool
— t
Это точно ожидаемое поведение? Кажется должно возвращаться именно значение в bool (возможно ошибка в тексте).
По-моему, конструкции вида
априори должны кидать какой-нибудь WrongFormatException. Ну, не является 'true' валидным json-объектом.
Для подобного должен существовать отдельный тип, например json_element.
'true' :: jsonb
'12345.67' :: jsonb
априори должны кидать какой-нибудь WrongFormatException. Ну, не является 'true' валидным json-объектом.
Для подобного должен существовать отдельный тип, например json_element.
json-объектом — не является. Но JSON (в ECMA-404 в частности) не обязывает на верхнем уровне держать именно объект — там должен быть Value, а он уж может быть объектом, а может быть и числом.
www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
С чего это не является валидным? Вполне себе такой же валидный, как и JSON от массива или объекта.
Для обратного каста есть же to_jsonb(some_value).
Sign up to leave a comment.
Что нового в PostgreSQL 11: улучшения в кастинге