в следующем примере кода postgresql (9.4) должен преобразовать локальную переменную составного типа в строку json. По-видимому postgresql обрабатывает переменную с нулевым значением, отличным от приведения нулевого значения к тому же типу.Postgres to-json преобразует композитный тип в пустую структуру
В моем приложении у меня есть вложенные составные типы и хотелось бы получить null, если переменная составного типа имеет значение null в качестве значения.
Надеюсь, вы, ребята, можете помочь мне здесь.
CREATE TYPE mytype AS (
id SMALLINT,
name TEXT
);
DO $$
DECLARE
l_var mytype;
BEGIN
l_var := NULL;
RAISE INFO '%',to_json(NULL::mytype);
RAISE INFO '%',to_json(l_var) ;
END $$;
--Output
INFO: <NULL>
INFO: {"id":null,"name":null}
Huh, так что в PL/PgSQL присвоение 'NULL' записи var отличается от передачи переменной VUL в NULL. Я бы не догадался. Какая странная бородавка. –
l_var не записывает var, но строка var. –