sql >> Databasteknik >  >> RDS >> PostgreSQL

Varför kan NULL inte konverteras till JSONs null i postgreSQL?

to_json är markerad som STRICT funktion, det betyder - returnerar NULL när någon parameter är NULL. Jag är inte säker på om det är korrekt implementering, kanske är det PostgreSQL-bugg.

Uppdatering:Efter diskussion på Postgres e-postlista är detta inte felet, utan funktionen - situationen är inte enkel på grund av faktum, så båda språken stöder NULL, men beteendet hos NULL är lite annorlunda på något av dessa språk. Det är svårt att avgöra om SQL NULL omedelbart måste omvandlas till JSON NULL och förlora en SQL-funktion omedelbart. Om du behöver ett annat beteende kan du använda en SQL-funktion:

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


  1. Finns det några gratisverktyg för att generera 'INSERT INTO'-skript i MS SQL Server?

  2. Kan vi alltid hämta datumkolumnen som sträng (varchar) med knex och postgres?

  3. Hur OCT() fungerar i MariaDB

  4. Java ansluter till flera databaser