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

Mengapa PostgreSQL tidak mengembalikan nilai nol ketika kondisinya <> true

Setiap RDBMS setengah jalan yang layak melakukannya dengan cara yang sama, karena benar .
Saya mengutip manual Postgres di sini:

Operator perbandingan biasa menghasilkan null (menandakan "tidak diketahui"), tidak benar atau salah, ketika salah satu inputnya nol. Misalnya, 7 = NULL yieldsnull, seperti halnya 7 <> NULL . Jika perilaku ini tidak sesuai, gunakanIS [ NOT ] DISTINCT FROM konstruksi:

expression IS DISTINCT FROM expression
expression IS NOT DISTINCT FROM expression

Perhatikan bahwa ekspresi ini bekerja sedikit lebih lambat daripada expression <> expression sederhana perbandingan.

Untuk boolean nilai ada juga yang lebih sederhana IS NOT [TRUE | FALSE] .
Untuk mendapatkan apa yang Anda harapkan dalam kueri kedua, tulis:

SELECT * FROM table WHERE avalue IS NOT TRUE;

SQL Fiddle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memanggil prosedur tersimpan dalam prosedur tersimpan

  2. Cara Mendapatkan Waktu Saat Ini (Tanpa Zona Waktu) di PostgreSQL

  3. BUAT TABEL PostgreSQL

  4. Memiliki Group By Clauses — GeneralBits elein

  5. Versi kernel PostgreSQL vs. Linux