Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL Memilih nilai MIN dari data baris dengan nilai nol

Sepertinya Anda menginginkan sesuatu seperti

SELECT least( (case when col1 is null or col1 = 0 then 999999999 else col1 end),
              (case when col2 is null or col2 = 0 then 999999999 else col2 end),
              (case when col3 is null or col3 = 0 then 999999999 else col3 end) )
  FROM <<table name>>

di mana 999999999 adalah beberapa nilai numerik yang cukup besar sehingga akan selalu lebih besar daripada nilai valid lainnya. Jika mungkin ketiga kolom memiliki NULL atau 0, maka Anda mungkin ingin menambahkan pemeriksaan tambahan jika hasil least itu fungsinya adalah 999999999 yang Anda kembalikan 0 atau NULL atau apa pun yang masuk akal.

@X-Zero cukup baik untuk mengumpulkan contoh SQL Fiddle yang berfungsi dari konstruksi ini. Perhatikan bahwa contohnya adalah memfilter baris di mana ketiga kolom memiliki NULL atau 0 nilai.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL menghitung frekuensi item menggunakan beberapa/kolom dependen?

  2. Oracle:Cara menghitung baris null dan non-null

  3. c3p0 hang di getConnection ketika ada kegagalan jaringan

  4. Bagaimana saya bisa menerjemahkan ID ID FileNet di DB2/Oracle menjadi GUID yang ramah?

  5. Kueri Penghapusan Berjenjang