1. 计算字符串字符数和字符串长度 - CHAR_LENGTH(s)
CHAR_LENGTH(str): 返回str所包含的字符个数。
mysql> select CHAR_LENGTH('MySQL');
+----------------------+
| CHAR_LENGTH('MySQL') |
+----------------------+
| 5 |
+----------------------+
2. 合并字符 - CONCAT(s1,s2,...) 与 CONCAT_WS(x,s1,s2,...)
CONCAT(s1,s2,...):回结果为连接参数产生的字符串,或许有一个或者多个参数。如果有任何一个返回值为NULL, 则返回值为NULL.
mysql> select CONCAT('MySQL',' ','5.5',' ',NULL,'Function');
+-----------------------------------------------+
| CONCAT('MySQL',' ','5.5',' ',NULL,'Function') |
+-----------------------------------------------+
| NULL |
+-----------------------------------------------+
CONCAT_WS(x,s1,s2,...): 代表CONCAT With Separator, 是CONCAT的特殊形式。第一个参数X是其它参数的分隔符,分隔符的位置在要连接的字符串之间。分隔符可以是一个字符串,也可是其他参数。如果分隔符为NULL,则结果为NULL。
mysql> select CONCAT_WS('.','David','Tian'), CONCAT_WS(NULL,'MySQL','5.5');
+-------------------------------+-------------------------------+
| CONCAT_WS('.','David','Tian') | CONCAT_WS(NULL,'MySQL','5.5') |
+-------------------------------+-------------------------------+
| David.Tian | NULL |
+-------------------------------+-------------------------------+
3. 替换字符串函数 - INSERT(s1, x, len, s2)
INSERT(s1,x,len,s2):返回字符串s1, 其子字符串起始于x位置和被字符串s2取代的len字符。如果x超过字符串长度,则返回值为原始字符串。假如len的长度大于其它字符串的长度,则从位置x开始替换。若任何一个参数为NULL, 则返回值为NULL。
mysql> select INSERT('Softtekian',2,4,'!@#$') AS c1,
-> INSERT('Softtekian',-1,4,'@@@@') as c2,
-> INSERT('Softtekian',3,100,'$$') as c3,
-> INSERT('Softtekian',2,4,'%@') as c4;
+------------+------------+------+----------+
| c1 | c2 | c3 | c4 |
+------------+------------+------+----------+
| S!@#$ekian | Softtekian | So$$ | S%@ekian |
+------------+------------+------+----------+
4. 字母大小写转换函数- LOWER(s), LCASE(s), UPPER(s), UCASE(s)
LOWER(str)和LCASE(str):将字符串str中的字母全部转换成小写字母。
mysql> select LOWER('MySQL and Oracle ASM') as c1, LCASE('Database Administrator') as c2;
+----------------------+------------------------+
| c1 | c2 |
+----------------------+------------------------+
| mysql and oracle asm | database administrator |
+----------------------+------------------------+?
UPPER(str)和UCASE(str):可以将字符串str中的字母全部转换成大写字母。
mysql> select UPPER('sunshine.ma') c1,UCASE('Sunshine.Ma') c2;
+-------------+-------------+
| c1 | c2 |
+-------------+-------------+
| SUNSHINE.MA | SUNSHINE.MA |
+-------------+-------------+
5. 获取指定长度字符串:LEFT(s,n), RIGHT(s,n)
LEFT(s,n): 返回字符串s开始最左边n个字符。
mysql> select LEFT('this is a testing email',7) as c1;
+---------+
| c1 |
+---------+
| this is |
+---------+
RIGHT(s,n):返回字符串str最右边n个字符。
mysql> select RIGHT('this is a testing email',7) as c1;
+---------+
| c1 |
+---------+
| g email |
+---------+
6. 填充字符串函数:LPAD(s1, len, s2), RPAD(s1, len, s2)
LPAD(s1, len, s2): 返回字符串s1,其左边由字符串s2填补到len字符长度。假如s1的长度大于len, 则返回值缩短至len字符。
mysql> select LPAD('Hello',4,'%%') as c1, LPAD('Hello',10,'*') as c2;
+------+------------+
| c1 | c2 |
+------+------------+
| Hell | *****Hello |
+------+------------+?
RPAD(s1, len, s2): 返回字符串s1, 其右边被字符串s2填补至len字符串s1的长度大于len, 则返值被缩短到len字符长度。
mysql> select RPAD('Hello',4,'%') as c1, RPAD('Hello',10,'*') as c2;
+------+------------+
| c1 | c2 |
+------+------------+
| Hell | Hello***** |
+------+------------+?
7. 删除空格字符串函数:LTRIM(s), RTRIM(s), TRIM(s)
LTRIM(