如果字串小於特定長度,則在 MySQL 中顯示子字串,否則顯示自定義訊息?


為此,你可以在 MySQL 中使用 substring() 函式。對於條件,使用 MySQL CASE 語句。我們首先建立一個 -

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

使用 insert 在表中插入一些記錄 -

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)

使用 select 從表中顯示所有記錄 -

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)

更新於: 2019-11-11

131 次瀏覽

啟動你的 事業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.