sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvorfor kan NULL ikke konverteres til JSONs null i postgreSQL?

to_json er markeret som STRICT funktion, er det middel - returnerer NULL, når en parameter er NULL. Jeg er ikke sikker på, om det er korrekt implementering, måske er det PostgreSQL-fejl.

Opdatering:Efter diskussion på Postgres' mailingliste er dette ikke fejlen, men funktionen - situationen er ikke enkel på grund af faktum, så begge sprog understøtter NULL, men opførselen af ​​NULL er en smule anderledes på alle disse sprog. Det er svært at afgøre, om SQL NULL straks skal transformeres til JSON NULL og mistet en SQL-opfører sig med det samme. Hvis du har brug for anderledes opførsel, kan du bruge en SQL-funktion:

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


  1. Server tager lang tid at svare

  2. MySQL vælg koordinater inden for rækkevidde

  3. Automatiseret eller regelmæssig backup af mysql-data

  4. SQL IN-sætning langsommere end individuelle forespørgsler