Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

SQL Chọn giá trị MIN từ dữ liệu hàng có giá trị rỗng

Có vẻ như bạn muốn một cái gì đó giống như

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>>

trong đó 999999999 là một số giá trị số đủ lớn để nó luôn lớn hơn bất kỳ giá trị hợp lệ nào khác. Nếu có thể cả ba cột sẽ có NULL hoặc 0 giá trị, thì bạn có thể muốn thêm một kiểm tra bổ sung nếu kết quả của least đó hàm là 999999999 mà bạn trả về 0 hoặc NULL hoặc bất cứ điều gì khác có ý nghĩa.

@ X-Zero đủ tử tế để tập hợp một ví dụ về SQL Fiddle đang hoạt động của cấu trúc này. Lưu ý rằng ví dụ của anh ấy đang lọc ra các hàng mà cả ba cột đều có NULL hoặc 0 giá trị.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trong Oracle, có một hàm tính toán sự khác biệt giữa hai Ngày không?

  2. Hàm CHR () trong Oracle

  3. Truy xuất các phần tử XML từ XMLType Oracle

  4. ClientDataSet TBCDField làm tròn

  5. trả về tập kết quả từ hàm