赞
踩
在Mysql数据库中,函数可以用在SELECT语句及其子句(例如 WHERE、ORDER BY、HAVING等)中,也可以用在UPDATE、DELETE语句及其子句中。函数包括字符串函数、数值函数、时间日期函数和流程函数等。
函数 | 功能 |
---|---|
LENGTH(str) | 返回字符串str的长度 |
CHAR_LENGTH(str) | 返回字符串str的字符个数 |
CONCAT(str1,str2…strn) | 连接str1,str2…strn为一个字符串 |
CONCAT_WS(str,str1,str2…strn) | 用字符串str连接str1,str2…strn为一个字符串 |
INSERT(str,x,y,instr) | 将字符串str从第x位起,y个字符长度替换为instr |
LOWER(str) | 将字符串str中所有字符变成小写 |
UPPER(str) | 将字符串str中所有字符变成大写 |
LEFT(str,x) | 返回字符串str最左边x个字符 |
RIGHT(str,x) | 返回字符串str最右边x个字符 |
LPAD(str,n,str2) | 用str2对str最左边进行填充,直到字符串长度为n |
RPAD(str,n,str2) | 用str2对str最右边进行填充,直到字符串长度为n |
LTRIM(str) | 去掉字符串左边的空格 |
RTRIM(str) | 去掉字符串右边的空格 |
TRIM(str) | 去掉字符串两头的空格 |
REPEAT(str,n) | 将字符串str重复n次返回 |
REPLACE(str,a,b) | 用字符串b替换字符串str中所有的a |
STRCMP(str1,str2) | 比较字符串str1和str2的ASCII码值大小 |
SUBSTRING(str,x,y) | 截取字符串str从x位置起y个字符长度的子串 |
REVERSE(str) | 将字符串str反转返回 |
1、 LENGTH(str) :返回字符串str的长度
mysql> select length('aaaaa');
+-----------------+
| length('aaaaa') |
+-----------------+
| 5 |
+-----------------+
2、CHAR_LENGTH(str) :返回字符串str的字符个数
mysql> select char_length('aaaaaaa');
+------------------------+
| char_length('aaaaaaa') |
+------------------------+
| 7 |
+------------------------+
3、CONCAT(str1,str2…strn) :连接str1,str2…strn为一个字符串
mysql> select concat('aaa','bbb','ccc');
+---------------------------+
| concat('aaa','bbb','ccc') |
+---------------------------+
| aaabbbccc |
+---------------------------+
有一个字符串为null,则结果为null:
mysql> select concat('aaa','bbb',null);
+--------------------------+
| concat('aaa','bbb',null) |
+--------------------------+
| NULL |
+--------------------------+
4、CONCAT_WS(str,str1,str2…strn): 用字符串str连接str1,str2…strn为一个字符串
mysql> select concat_ws('+','aaa','bbb','ccc');
+----------------------------------+
| concat_ws('+','aaa','bbb','ccc') |
+----------------------------------+
| aaa+bbb+ccc |
+----------------------------------+
子串可以为null:
mysql> select concat_ws('+','aaa','bbb',null,'ddd',null);
+--------------------------------------------+
| concat_ws('+','aaa','bbb',null,'ddd',null) |
+--------------------------------------------+
| aaa+bbb+ddd |
+--------------------------------------------+
5、INSERT(str,x,y,instr) :将字符串str从第x位起,y个字符长度替换为instr
mysql> select insert('abcdefg',3,3,'xxxxxxxx');
+----------------------------------+
| insert('abcdefg',3,3,'xxxxxxxx') |
+----------------------------------+
| abxxxxxxxxfg |
+----------------------------------+
6、LOWER(str)、UPPER(str) :将字符串str中所有字符变成小(大)写
mysql> select lower('Lucky'),upper('Lucky');
+----------------+----------------+
| lower('Lucky') | upper('Lucky') |
+----------------+----------------+
| lucky | LUCKY |
+----------------+----------------+
7、 LEFT(str,x) 、RIGHT(str,x):返回字符串str最左(右)边x个字符
mysql> select left('abcdefg',3),right('abcdefg',3);
+-------------------+--------------------+
| left('abcdefg',3) | right('abcdefg',3) |
+-------------------+--------------------+
| abc | efg |
+-------------------+--------------------+
8、LPAD(str,n,str2) 、RPAD(str,n,str2): 用str2对str最左(右)边进行填充,直到字符串长度为n
mysql> select lpad('abc',10,'123'),rpad('abc',10,'123');
+----------------------+----------------------+
| lpad('abc',10,'123') | rpad('abc',10,'123') |
+----------------------+----------------------+
| 1231231abc | abc1231231 |
+----------------------+----------------------+
9、LTRIM(str)、RTRIM(str) 、TRIM(str): 去掉字符串左(右)(两)边的空格
mysql> select ltrim(' a b c '),rtrim(' a b c '),trim(' a b c ');
+--------------------+--------------------+-------------------+
| ltrim(' a b c ') | rtrim(' a b c ') | trim(' a b c ') |
+--------------------+--------------------+-------------------+
| a b c | a b c | a b c |
+--------------------+--------------------+-------------------+
10、REPEAT(str,n) :将字符串str重复n次返回
mysql> select repeat('abc',3);
+-----------------+
| repeat('abc',3) |
+-----------------+
| abcabcabc |
+-----------------+
11、REPLACE(str,a,b) : 用字符串b替换字符串str中所有的a
mysql> select replace('abcabcabc','ab','12');
+--------------------------------+
| replace('abcabcabc','ab','12') |
+--------------------------------+
| 12c12c12c |
+--------------------------------+
12、STRCMP(str1,str2) :比较字符串str1和str2的ASCII码值大小
mysql> select strcmp('a','n'),strcmp('a','A'),strcmp('n','a');
+-----------------+-----------------+-----------------+
| strcmp('a','n') | strcmp('a','A') | strcmp('n','a') |
+-----------------+-----------------+-----------------+
| -1 | 0 | 1 |
+-----------------+-----------------+-----------------+
不区分大小写,str1小于str2返回-1,相等返回0,str1大于str2返回1.
13、SUBSTRING(str,x,y) : 截取字符串str从x位置起y个字符长度的子串
mysql> select substring('abcdefg',3,4),substring('abcdefg',3);
+--------------------------+------------------------+
| substring('abcdefg',3,4) | substring('abcdefg',3) |
+--------------------------+------------------------+
| cdef | cdefg |
+--------------------------+------------------------+
不给参数y表示截取到字符串末尾。
14、REVERSE(str) : 将字符串str反转返回
mysql> select reverse('abcdefg');
+--------------------+
| reverse('abcdefg') |
+--------------------+
| gfedcba |
+--------------------+
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。