为此,您可以使用substring()MySQL中的函数。对于条件,请使用MySQL CASE语句。让我们首先创建一个-mysql> create table DemoTable1402
-> (
-> EmployeeName varchar(40)
-> );
使用insert在表中插入一些记录-mysql> insert into DemoTable1402 values('Adam Smith');
mysql> insert into DemoTable1402 values('Chris Brown');
mysql> insert into DemoTable1402 values('David Miller');
mysql> insert into DemoTable1402 values('Carol Taylor');
使用选择显示表中的所有记录-mysql> select * from DemoTable1402;
这将产生以下输出-+--------------+
| EmployeeName |
+--------------+
| Adam Smith |
| Chris Brown |
| David Miller |
| Carol Taylor |
+--------------+
4 rows in set (0.00 sec)
这是查询,如果字符串小于特定长度,则在MySQL中显示子字符串;如果大于,则显示自定义消息-mysql> select *, case when char_length(EmployeeName) <=11 then substring(EmployeeName,1,5)
-> else 'EmployeeName is greater than 11'
-> end as Result
-> from DemoTable1402;
这将产生以下输出-+--------------+---------------------------------+
| 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)