Computer >> Máy Tính >  >> Lập trình >> MySQL

Hiển thị chuỗi con trong MySQL nếu chuỗi nhỏ hơn độ dài cụ thể hoặc hiển thị thông báo tùy chỉnh nếu dài hơn?

Đối với điều này, bạn có thể sử dụng hàm substring () trong MySQL. Đối với các điều kiện, hãy sử dụng câu lệnh MySQL CASE. Trước tiên, hãy để chúng tôi tạo -

mysql> create table DemoTable1402
   -> (
   -> EmployeeName varchar(40)
   -> );
Query OK, 0 rows affected (0.62 sec)

Chèn một số bản ghi vào bảng bằng cách sử dụng chèn -

mysql> insert into DemoTable1402 values('Adam Smith');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1402 values('Chris Brown');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1402 values('David Miller');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1402 values('Carol Taylor');
Query OK, 1 row affected (0.10 sec)

Hiển thị tất cả các bản ghi từ bảng bằng select -

mysql> select * from DemoTable1402;

Điều này sẽ tạo ra kết quả sau -

+--------------+
| EmployeeName |
+--------------+
| Adam Smith   |
| Chris Brown  |
| David Miller |
| Carol Taylor |
+--------------+
4 rows in set (0.00 sec)

Đây là truy vấn để hiển thị chuỗi con trong MySQL nếu chuỗi nhỏ hơn độ dài cụ thể hoặc hiển thị thông báo tùy chỉnh nếu dài hơn -

mysql> select *, case when char_length(EmployeeName) <=11 then substring(EmployeeName,1,5)
   -> else 'EmployeeName is greater than 11'
   -> end as Result
   -> from DemoTable1402;

Điều này sẽ tạo ra kết quả sau -

+--------------+---------------------------------+
| EmployeeName | Result                          |
+--------------+---------------------------------+
| Adam Smith   | Adam                            |
| Chris Brown  | Chris                           |
| David Miller | EmployeeName is greater than 11 |
| Carol Taylor | EmployeeName is greater than 11 |
+--------------+---------------------------------+
4 rows in set (0.04 sec)