字符串操作在程序设计中是非常重要的组成部分,而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)