使用省略號截斷 MySQL 文字?
可以使用 LENGTH() 和 CASE 語句截斷文字,並用省略號 (...) 代替。如果長度大於 7,則截斷文字並新增某個數字,否則按原樣列印該數字。
為了瞭解上述語法,我們建立一個表。建立表的查詢如下
mysql> create table TruncateText -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Number longtext, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.66 sec)
使用 insert 命令在表中插入一些記錄。查詢如下
mysql> insert into TruncateText(Number) values('64575868667687');
Query OK, 1 row affected (0.11 sec)
mysql> insert into TruncateText(Number) values('7654332');
Query OK, 1 row affected (0.17 sec)
mysql> insert into TruncateText(Number) values('25434656');
Query OK, 1 row affected (0.19 sec)
mysql> insert into TruncateText(Number) values('6457586');
Query OK, 1 row affected (0.17 sec)
mysql> insert into TruncateText(Number) values('958567686868675757574');
Query OK, 1 row affected (0.13 sec)
mysql> insert into TruncateText(Number) values('374785868968787');
Query OK, 1 row affected (0.21 sec)
mysql> insert into TruncateText(Number) values('58969678685858585858585858585');
Query OK, 1 row affected (0.14 sec)使用 select 語句顯示錶中的所有記錄。查詢如下
mysql> select *from TruncateText;
輸出如下
+----+-------------------------------+ | Id | Number | +----+-------------------------------+ | 1 | 64575868667687 | | 2 | 7654332 | | 3 | 25434656 | | 4 | 6457586 | | 5 | 958567686868675757574 | | 6 | 374785868968787 | | 7 | 58969678685858585858585858585 | +----+-------------------------------+ 7 rows in set (0.00 sec)
在上示例輸出中,我們得到了一些長度大於 7 的數字。如果長度大於 7,我們需要在第 7 位數之後追加一個數字。如果長度等於 7,則無需追加數字。
查詢如下
mysql> SELECT *, CASE WHEN LENGTH(Number) > 7 -> THEN CONCAT(SUBSTRING(Number, 1, 7), '99999999') -> ELSE Number END AS AddNumber -> FROM TruncateText;
輸出如下
+----+-------------------------------+-----------------+ | Id | Number | AddNumber | +----+-------------------------------+-----------------+ | 1 | 64575868667687 | 645758699999999 | | 2 | 7654332 | 7654332 | | 3 | 25434656 | 254346599999999 | | 4 | 6457586 | 6457586 | | 5 | 958567686868675757574 | 958567699999999 | | 6 | 374785868968787 | 374785899999999 | | 7 | 58969678685858585858585858585 | 589696799999999 | +----+-------------------------------+-----------------+ 7 rows in set (0.00 sec)
檢視以上示例輸出。如果數字大於 7,我們會截斷數字中的所有值,並在第 7 位數之後新增一個數字“99999999”。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP