Tạo bảng tên nhân viên
mysql> CREATE TABLE DemoTable1402 (EmployeeName VARCHAR(40));
INSERT INTO DemoTable1402 VALUES
('Adam Smith'),('Chris Brown'),('David Miller'),('Carol Taylor');
Dữ liệu
mysql> SELECT * FROM DemoTable1402;
+--------------+
| EmployeeName |
+--------------+
| Adam Smith |
| Chris Brown |
| David Miller |
| Carol Taylor |
+--------------+
Truy vấn: CASE WHEN CHAR_LENGTH <= 11 thì SUBSTRING 5 ký tự, else thông báo
mysql> SELECT *,
-> CASE
-> WHEN CHAR_LENGTH(EmployeeName) <= 11 THEN SUBSTRING(EmployeeName, 1, 5)
-> ELSE 'EmployeeName is greater than 11'
-> END AS Result
-> FROM DemoTable1402;
Kết quả
+--------------+---------------------------------+
| EmployeeName | Result |
+--------------+---------------------------------+
| Adam Smith | Adam |
| Chris Brown | Chris |
| David Miller | EmployeeName is greater than 11 |
| Carol Taylor | EmployeeName is greater than 11 |
+--------------+---------------------------------+
Giải thích: CHAR_LENGTH đếm ký tự (multibyte safe). SUBSTRING(str,1,5) lấy 5 ký tự đầu. CASE cho phép logic điều kiện phức tạp trong SELECT.