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

CHỌN một cột nếu cột kia rỗng

ANSI có nghĩa là sử dụng COALESCE :

SELECT COALESCE(a2.date, a1.date) AS `date`
   ...

Cú pháp gốc của MySQL là IFNULL :

SELECT IFNULL(a2.date, a1.date) AS `date`
   ...

Không giống như COALESCE, IFNULL không thể di động đến các cơ sở dữ liệu khác.

Một cú pháp ANSI khác, biểu thức CASE , là một tùy chọn:

SELECT CASE
         WHEN a2.date IS NULL THEN a1.date
         ELSE a2.date
       END AS `date`
   ...

Nó đòi hỏi nhiều hướng hơn để hoạt động bình thường, nhưng linh hoạt hơn nếu các yêu cầu thay đổi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thứ tự hoạt động của MySQL?

  2. Chọn N * nhóm * đầu tiên bằng cách sử dụng mysql

  3. MySQL tạo thời gian và cập nhật dấu thời gian

  4. MySQL JOIN trả về các trường NULL

  5. làm cách nào để nhập tệp csv vào mysql từ ứng dụng hibernate + spring?