sql >> Databáze >  >> RDS >> PostgreSQL

Proč nelze NULL převést na null JSON v postgreSQL?

to_json je označeno jako STRICT funkce, je to střední hodnota - vrací NULL, když je některý parametr NULL. Nejsem si jistý, zda je to správná implementace, možná je to chyba PostgreSQL.

Aktualizace:Po diskuzi na Postgres' mailing listu to není chyba, ale vlastnost - situace není jednoduchá, takže oba jazyky podporují NULL, ale chování NULL se v kterémkoli z těchto jazyků trochu liší. Je těžké rozhodnout, zda SQL NULL musí být okamžitě transformován na JSON NULL a ztracené SQL se chovat okamžitě. Pokud potřebujete jiné chování, můžete použít funkci SQL:

CREATE OR REPLACE FUNCTION to_json2(anyelement)
RETURNS json AS $$
SELECT COALESCE(to_json($1), json 'null')
$$ LANGUAGE sql;


  1. Jak propojit Android s PHP a MySQL?

  2. zamyká to databázi?

  3. Jak vytvořím pojmenované oddíly oken (aliasy) v PostgreSQL?

  4. PDO bindValue s \PDO::PARAM_BOOL způsobí, že provedení příkazu tiše selže