Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana menemukan kolom non-null paling sedikit dalam satu baris tertentu dalam SQL?

Sayangnya (untuk kasus Anda) perilaku LEAST diubah di MySQL 5.0.13 (http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least ) - digunakan untuk mengembalikan NULL hanya jika semua argumen adalah NULL.

Perubahan ini bahkan dilaporkan sebagai bug:http://bugs.mysql.com/ bug.php?id=15610 Tetapi perbaikannya hanya pada dokumentasi MySQL, menjelaskan perilaku baru dan kerusakan kompatibilitas.

Solusi Anda adalah salah satu solusi yang disarankan. Yang lain dapat menggunakan operator IF:

SELECT IF(Col1 IS NULL OR Col2 IS NULL, COALESCE(Col1, Col2), LEAST(Col1,Col2))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengonversi baris dengan terlalu banyak nilai menjadi kolom

  2. Bagaimana saya harus mendesain tabel MYSQL saya?

  3. cara memformat tanggal yang berasal dari MYSQL

  4. MySQL - abaikan kesalahan penyisipan:entri duplikat

  5. Fungsi MySQL SIN() – Mengembalikan Sinus Angka di MySQL