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