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

Hiển thị substring nếu chuỗi ngắn, thông báo tùy chỉnh nếu chuỗi dài trong MySQL

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.