Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Trả về TRUE/FALSE trong MySQL SELECT nếu cột khác chứa chuỗi cụ thể

Sử dụng hàm IF() để kiểm tra điều kiện và trả về 'Yes'/'No' (hoặc 1/0).

Tạo bảng và dữ liệu

mysql> CREATE TABLE DemoTable(FirstName VARCHAR(100), LastName VARCHAR(100)); 
Query OK, 0 rows affected (1.28 sec)

mysql> INSERT INTO DemoTable VALUES 
('Chris','Brown'), ('David','Miller'), ('Adam','Smith'); 
Query OK, 3 rows affected

Kiểm tra LastName có phải 'Miller' không

mysql> SELECT IF(LastName = 'Miller', 'Yes', 'No') AS LastName, FirstName FROM DemoTable;

Kết quả:

+----------+-----------+
| LastName | FirstName |
+----------+-----------+
| No       | Chris     |
| Yes      | David     |
| No       | Adam      |
+----------+-----------+

Các biến thể:

  • Trả về boolean: IF(LastName='Miller', TRUE, FALSE) → 1/0
  • Dùng CASE: CASE WHEN LastName='Miller' THEN 'Yes' ELSE 'No' END (chuẩn SQL, hỗ trợ nhiều điều kiện)
  • MySQL 8.0+: IF(LastName='Miller', 'Yes', 'No') hoặc LastName='Miller' AS is_miller (trả về 1/0)