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

IF ... ELSE trong mệnh đề WHERE trong MySQL

Cú pháp cho IF là:

 IF(test_expr, then_expr, else_expr)

vì vậy bạn có thể làm một cái gì đó như IF(test1, result1, IF(test2, result2, else_result)) nhưng nó sẽ không dễ đọc lắm, vì vậy có CASE cho mục đích đó.

CASE WHEN  test1 THEN result1
WHEN test2 THEN result2
ELSE else_result END

Nếu bạn muốn điều kiện một cột được chọn, bạn có thể sử dụng IF trong các trường được chọn trực tiếp:

SELECT IF(match, nl_column en_column) AS lang 
FROM table

Lưu ý rằng một biểu thức trong mệnh đề where là TRUE hoặc FALSE , vì vậy đang viết

IF(expr, TRUE, FALSE)

giống như

expr


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jetty-env.xml với DataSource dẫn đến lỗi WebAppContext trên mvn jetty:run

  2. Sao chép hàng loạt DataTable vào MySQL (tương tự như System.Data.SqlClient.SqlBulkCopy)

  3. rắc rối kết nối cơ sở dữ liệu từ xa android

  4. MySQL - Độ phức tạp của:SELECT COUNT (*) FROM MyTable;

  5. mysql Ràng buộc khóa ngoại bị lỗi hình thành không chính xác