PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mengapa NULL tidak dapat dikonversi ke null JSON di postgreSQL?

to_json ditandai sebagai STRICT fungsi, itu berarti - mengembalikan NULL ketika parameter apa pun adalah NULL. Saya tidak yakin apakah ini implementasi yang benar, mungkin itu bug PostgreSQL.

Pembaruan:Setelah diskusi di milis Postgres, ini bukan bug, tetapi fitur - situasinya tidak sederhana, jadi kedua bahasa mendukung NULL, tetapi perilaku NULL sedikit berbeda dalam bahasa mana pun dari bahasa ini. Sulit untuk memutuskan apakah SQL NULL harus segera diubah menjadi JSON NULL dan segera kehilangan perilaku SQL. Jika Anda membutuhkan perilaku yang berbeda, Anda dapat menggunakan fungsi 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. Penggabungan Koneksi PostgreSQL:Bagian 4 – PgBouncer vs. Pgpool-II

  2. Bagaimana cara memperbaiki, pembuatan 'PHP', di Mac OS X (10.9.4)?

  3. Bagaimana cara menggunakan subquery di SQLAlchemy untuk menghasilkan rata-rata bergerak?

  4. PostgreSQL:Apakah ada fungsi yang akan mengubah int base-10 menjadi string base-36?

  5. Buat array postgres domain khusus