s): 返回字符串s,字符串左侧空格字符被删除。
mysql> select LTRIM(' book ') as c1;
+---------+
| c1 |
+---------+
| book |
+---------+
RTRIM(s): 返回字符串s,字符串右侧空格字符被删除。
mysql> select RTRIM(' book ') as c1;
+---------+
| c1 |
+---------+
| book |
+---------+
TRIM(s): 返回字符串s,字符串两侧空格字符被删除。
mysql> select TRIM(' book ') as c1;
+------+
| c1 |
+------+
| book |
+------+
?
8. 删除指定字符串的函数:TRIM(s1 FROM s)
TRIM(s1 FROM s): 删除字符串s中两端所有的子字符串s1。s1为可选项,在未指定情况下,删除空格。
mysql> select TRIM(' boook ') as c1, TRIM('xy' FROM 'xyxyDxyDxyxy') as c2;
+-------+------+
| c1 | c2 |
+-------+------+
| boook | DxyD |
+-------+------+
9. 重复生成字符串的函数:REPEAT(s,n)
REPEAT(s,n): 返回一个由重复的字符串s组成的字符串,字符串s的数目等于n。若n<=0,则返回一个空字符串。若s或n为NULL,则返回NULL。
mysql> select REPEAT('abc',3) as c1, REPEAT('abc',-1) as c2, REPEAT('abc',NULL) as c3;
+-----------+------+------+
| c1 | c2 | c3 |
+-----------+------+------+
| abcabcabc | | NULL |
+-----------+------+------+
10. 空格函数:SPACE(n)
SPACE(n):返回一个由n个空格组成的字符串。
mysql> select CONCAT('(',SPACE(6),')') AS c1, CHAR_LENGTH(SPACE(6)) AS C2;
+----------+----+
| c1 | C2 |
+----------+----+
| ( ) | 6 |
11. 替换函数:REPLACE(s,s1,s2)
REPLACE(s,s1,s2):使用字符串s2替代字符串s中所有的字符串s1。
mysql> select REPLACE('xxx.mysql.com','x','w') as c1;
+---------------+
| c1 |
+---------------+
| www.mysql.com |
12. 比较字符串大小函数:STRCMP(s1,s2)
STRCMP(s1,s2):若所有的字符串均相同,则返回0;若根据当前分类次序,第一个参数小于第二个,则返回-1,其它情况返回1。
mysql> select STRCMP('txt','txta') as c1, STRCMP('txta','txt') as c2, STRCMP('txt','txt') as c3;
+----+----+----+
| c1 | c2 | c3 |
+----+----+----+
| -1 | 1 | 0 |
+----+----+----+
13. 字符串截取函数:SUBSTRING(s,n,len), MID(s,n,len)
SUBSTRING(s,n,len):从字符串s返回一个长度为len的子字符串,起始位置为n。若n为负数,则子字符串的位置起始于字符串结尾的n个字符,即倒数第n个字符。若len省略,则取至结尾。
mysql> select SUBSTRING('breaskfast',5) as c1,
-> SUBSTRING('breaskfast',5,3) as c2,
-> SUBSTRING('breakfast',-3) as c3,
-> SUBSTRING('breakfast',-5,3) as c4;
+--------+-----+-----+-----+
| c1 | c2 | c3 | c4 |
+--------+-----+-----+-----+
| skfast | skf | ast | kfa |
+--------+-----+-----+-----+
MID(s,n,len): 与SUBSTRING(s,n,len)作用相同。
mysql> select MID('breaskfast',5) as c1, MID('breaskfast',5,3) as c2, MID('breakfast',-3) as c3, MID('breakfast',-5,3) as c4;+--------+-----+-----+-----+
| c1 | c2 | c3 | c4 |
+--------+-----+-----+-----+
| skfast | skf | ast | kfa |
+--------+-----+-----+-----+
14. 匹配子串开始位置函数:LOCATE(s1,s2), POSITION(s1 IN s2), INSTR(s2,s1)
LOCATE(s1,s2): 返回子字符串s1在字符串s2中的开始位置。
POSITION(s1 IN s2): 返回子字符串s1在字符串s2中的开始位置。
INSTR(s2,s1):返回子字符串s1在字符串s2中的开始位置。
mysql> select LOCATE('ball','football') c1,
-> POSITION('ball' IN 'football') c2,
-> INSTR('football','ball') c3;
+----+----+----+
| c1 | c2 | c3 |
+----+----+----+
| 5 | 5 | 5 |
+----+----+----+
15. 字符串逆序函数:REVERSE(s)
REVERSE(s): 将字符串s反转,返回的字符串的顺序和s字符串顺序相反。
mysql> select REVERSE('I love you') as c1;
+------------+
| c1 |
+------------+
| uoy evol I |
+------------+
16. 返回指定位置的字符串函数:ELT(n,s1,s2,s3,...,Sn)
ELT(n,s1,s2,s3,...,Sn): 若n=1,则返回字符串S1,若n=2,则返回字符串S2,依此类推。若n小于1或大于参数的数目,则返回值为NULL。
mysql> select ELT(3,'1st','2nd','3rd') as c1, ELT(3,'oracle','MySQL') as c2;
+------+------+
| c1 | c2 |
+------+------+
| 3rd | NULL |
+------+------+
17. 返回指定字符串位置的函数:FIELD(s,s1,s2,...)
FIELD(s,s1,s2,...):返回字符串s在列表s1,s2,...中第一次出现的位置,在找不到s的情况下,返回值为0。如果s为NULL,则返回值为0,原因是NULL不能同任何值进行同等比较。
mysql> select FIELD('Hi','hihi','Hey','Hi','bas','ciao') as c1