字串操作在程式設計中是非常重要的組成部分,而MySQL資料庫中的字串操作卻相當簡單
需要注意的是:下面所有的函數只是將修改後的結果當查詢返回,均不對原資料做出改變
選出指定數量字元
複製代碼 代碼如下:mysql> SELECT RIGHT('nihao',3);
+------------------+
| RIGHT('nihao',3) |
+------------------+
| hao |
+------------------+
row in set (0.00 sec)
這裡的RIGHT()函數代表從字串中選定從右往左數的三個字元
與此類似,還有LEFT()函數
SUBSTRING_INDEX截取字串
複製代碼 代碼如下:mysql> SELECT SUBSTRING_INDEX('HH,MM,SS',',',2);
+-----------------------------------+
| SUBSTRING_INDEX('HH,MM,SS',',',2) |
+-----------------------------------+
| HH,MM |
+-----------------------------------+
row in set (0.00 sec)
此函數內部的第一個參數代表需要截取的內容,第二個參數代表按什麼截取
最後一個是截取到第幾個,1是截取到第一個逗號,2是截取到第二個
SUBSTRING截取字串
複製代碼 代碼如下:mysql> SELECT SUBSTRING('helloworld',1,5);
+-----------------------------+
| SUBSTRING('helloworld',1,5) |
+-----------------------------+
| hello |
+-----------------------------+
row in set (0.00 sec)
此處截取字串中1~5的內容
UPPER字串改大寫
複製代碼 代碼如下:mysql> SELECT UPPER('hello');
+----------------+
| UPPER('hello') |
+----------------+
| HELLO |
+----------------+
row in set (0.00 sec)
LOWER字串改小寫
複製代碼 代碼如下:mysql> SELECT LOWER('HELLO');
+----------------+
| LOWER('HELLO') |
+----------------+
| hello |
+----------------+
row in set (0.00 sec)
REVERSE反轉字串
複製代碼 代碼如下:mysql> SELECT REVERSE('hello');
+------------------+
| REVERSE('hello') |
+------------------+
| olleh |
+------------------+
row in set (0.00 sec)
LTRIM清除左邊多餘空格
複製代碼 代碼如下:mysql> SELECT LTRIM(' hello ');
+-----------------------+
| LTRIM(' hello ') |
+-----------------------+
| hello |
+-----------------------+
row in set (0.00 sec)
此外還有RTRIM清除右邊空格,TRIM清除兩邊全部空格
LENGTH返回字串中的字元數量
複製代碼 代碼如下:mysql> SELECT LENGTH('helo');
+----------------+
| LENGTH('helo') |
+----------------+
| 4 |
+----------------+
row in set (0.00 sec)