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

sử dụng CASE trong mệnh đề WHERE

Bạn không cần phải sử dụng CASE ... WHEN, bạn có thể sử dụng điều kiện HOẶC, như sau:

WHERE
  pw='correct'
  AND (id>=800 OR success=1) 
  AND YEAR(timestamp)=2011

điều này có nghĩa là nếu id <800, thành công phải là 1 để điều kiện được đánh giá là đúng. Nếu không, nó vẫn đúng.

Nó ít phổ biến hơn, tuy nhiên bạn vẫn có thể sử dụng CASE WHEN, như thế này:

WHERE
  pw='correct'
  AND CASE WHEN id<800 THEN success=1 ELSE TRUE END 
  AND YEAR(timestamp)=2011

điều này có nghĩa là:return success=1 (có thể là TRUE hoặc FALSE) trong trường hợp id <800 hoặc luôn trả về TRUE nếu không.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thêm ngày vào ngày trong MySQL

  2. Nhóm theo truy vấn chọn mysql union

  3. Một kết nối cơ sở dữ liệu có nên luôn mở hay chỉ được mở khi cần thiết?

  4. Tại sao AES_DECRYPT trả về giá trị rỗng?

  5. MySQL Left Joins:Chọn mọi thứ từ một bảng, nhưng chỉ khớp giá trị trong bảng thứ hai với tiêu chí