PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dlaczego nie można przekonwertować wartości NULL na wartość JSON w postgreSQL?

to_json jest oznaczony jako STRICT funkcja, to znaczy - zwracanie NULL, gdy którykolwiek parametr ma wartość NULL. Nie jestem pewien, czy jest to prawidłowa implementacja, może to błąd PostgreSQL.

Aktualizacja:Po dyskusji na liście mailingowej Postgres nie jest to błąd, ale funkcja - sytuacja nie jest prosta, więc oba języki obsługują NULL, ale zachowanie NULL jest trochę inne w każdym z tych języków. Trudno jest zdecydować, czy SQL NULL musi zostać natychmiast przekształcony w JSON NULL i utracić SQL natychmiast. Jeśli potrzebujesz innego zachowania, możesz użyć funkcji SQL:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmień sortowanie bazy danych, Ctype w Postgresql

  2. Śledzenie wysokiej dostępności PostgreSQL za pomocą funkcji Heartbeat

  3. Zapytanie PostgreSQL SQL do przemierzania całego nieskierowanego grafu i zwracania wszystkich znalezionych krawędzi

  4. Używanie r sf::st_write do niepublicznego schematu w PostgreSQL

  5. postgresql usuń tabele partycji