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

CASE so với DECODE

Có một sự khác biệt lớn giữa DECODECASE và nó liên quan đến cách thức NULLs được so sánh. DECODE sẽ trả về "true" nếu bạn so sánh NULL thành NULL . CASE sẽ không. Ví dụ:

DECODE(NULL, NULL, 1, 0)

sẽ trả về '1'.

CASE NULL
    WHEN NULL THEN 1
    ELSE 0
END

sẽ trả về '0'. Bạn sẽ phải viết nó là:

CASE
    WHEN NULL IS NULL THEN 1
    ELSE 0
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Người dùng thông thường có đặc quyền SYSBACKUP

  2. Hàm UPPER () trong Oracle

  3. Oracle RAC VIP và ARP Primer

  4. Sự kiện chờ:thay đổi kích thước bộ mô tả asynch

  5. Erlang và mức tiêu thụ bộ nhớ Heap của nó