您现在的位置是:网站首页> 编程资料编程资料

mysql函数全面总结_Mysql_

2023-05-26 424人已围观

简介 mysql函数全面总结_Mysql_

1、MySQL中常用字符串函数

函数功能
CANCAT(S1,S2,…Sn) 
连接 S1,S2,…Sn 为一个字符串
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 ,pad) 
用字符串 pad 对 str 最左边进行填充,直到长度为 n 个字符长度
RPAD(str,n,pad) 
用字符串 pad 对 str 最右边进行填充,直到长度为 n 个字符长度
LTRIM(str) 
去掉字符串 str 左侧的空格
RTRIM(str)
去掉字符串 str 行尾的空格
REPEAT(str,x) 
返回 str 重复 x 次的结果
REPLACE(str,a,b) 
用字符串 b 替换字符串 str 中所有出现的字符串 a 
STRCMP(s1,s2) 
比较字符串 s1 和 s2 
TRIM(str) 
去掉字符串行尾和行头的空格
SUBSTRING(str,x,y) 
返回从字符串 str x 位置起 y 个字符长度的字串

1:CANCAT(S1,S2,…Sn)函数,把传入的参数连接成为一个字符串。

注意:和null拼接后直接返回NULL

 mysql> select concat('aaa','bbb','d'),concat('dd',null); +-------------------------+-------------------+ | concat('aaa','bbb','d') | concat('dd',null) | +-------------------------+-------------------+ | aaabbbd | NULL | +-------------------------+-------------------+ 1 row in set (0.00 sec) 

2:INSERT(str ,x,y,instr)函数:将字符串 str 从第 x 位置开始,y 个字符长的子串替换为字符串 instr。

将字符串“123456”中从第3个字符开始,后面的3个字符替换成“me”

 mysql> select insert('123456',3,3,'me'); +---------------------------+ | insert('123456',3,3,'me') | +---------------------------+ | 12me6 | +---------------------------+ 1 row in set (0.02 sec) 

3:LOWER(str)和 UPPER(str)函数:把字符串转换成小写或大写。

 mysql> select lower("ZHANG"),upper("zhang"); +----------------+----------------+ | lower("ZHANG") | upper("zhang") | +----------------+----------------+ | zhang | ZHANG | +----------------+----------------+ 1 row in set (0.00 sec) 

4:LEFT(str,x)和 RIGHT(str,x)函数:分别返回字符串最左边的 x 个字符和最右边的 x 个字符。注意:如果第二个参数是 NULL,那么将不返回任何字符串。

 mysql> select left('zhang',2),left('zhang',null),right('zhang',2),left('zhang',10); +-----------------+--------------------+------------------+------------------+ | left('zhang',2) | left('zhang',null) | right('zhang',2) | left('zhang',10) | +-----------------+--------------------+------------------+------------------+ | zh | NULL | ng | zhang | +-----------------+--------------------+------------------+------------------+ 1 row in set (0.00 sec) 

5:LPAD(str,n ,pad)和 RPAD(str,n ,pad)函数:用字符串 pad 对 str 最左边和最右边进行填充,直到长度为 n 个字符长度。

 mysql> select lpad('bin',8,'zhang'),rpad('zhang',8,'bin'),rpad('beijing',20,'2008'); +-----------------------+-----------------------+---------------------------+ | lpad('bin',8,'zhang') | rpad('zhang',8,'bin') | rpad('beijing',20,'2008') | +-----------------------+-----------------------+---------------------------+ | zhangbin | zhangbin | beijing2008200820082 | +-----------------------+-----------------------+---------------------------+ 1 row in set (0.00 sec) 

6:LTRIM(str)和 RTRIM(str)函数:去掉字符串 str 左侧和右侧空格。

 mysql> select ' zhang',ltrim(' zhang'),rtrim('zhang '); +----------+-------------------+--------------------+ | zhang | ltrim(' zhang') | rtrim('zhang ') | +----------+-------------------+--------------------+ | zhang | zhang | zhang | +----------+-------------------+--------------------+ 1 row in set (0.00 sec) 

7:REPEAT(str,x)函数:返回 str 重复 x 次的结果。

 mysql> select repeat('mysql',5); +---------------------------+ | repeat('mysql',5) | +---------------------------+ | mysqlmysqlmysqlmysqlmysql | +---------------------------+ 1 row in set (0.00 sec) 

8:REPLACE(str,a,b)函数:用字符串 b 替换字符串 str 中所有出现的字符串 a。

 mysql> select replace('mysql','sql','ddd'); +------------------------------+ | replace('mysql','sql','ddd') | +------------------------------+ | myddd | +------------------------------+ 1 row in set (0.00 sec) 

9:STRCMP(s1,s2)函数:比较字符串 s1 和 s2 的 ASCII 码值的大小。如果 s1 比 s2 小,那么返回-1;如果 s1 与 s2 相等,那么返回 0;如果 s1 比 s2 大,那么返回 1。

 mysql> select strcmp('a','b'),strcmp('b','b'),strcmp('c','b'),strcmp('a','A'); +-----------------+-----------------+-----------------+-----------------+ | strcmp('a','b') | strcmp('b','b') | strcmp('c','b') | strcmp('a','A') | +-----------------+-----------------+-----------------+-----------------+ | -1 | 0 | 1 | 0 | +-----------------+-----------------+-----------------+-----------------+ 1 row in set (0.01 sec) 

10:TRIM(str)函数:去掉目标字符串的开头和结尾的空格。

 mysql> select trim(' 111 $ mysql $ '); +-----------------------------+ | trim(' 111 $ mysql $ ') | +-----------------------------+ | 111 $ mysql $ | +-----------------------------+ 1 row in set (0.01 sec) 

11:SUBSTRING(str,x,y)函数:返回从字符串 str 中的第 x 位置起 y 个字符长度的字串。

 mysql> select substring('mysqlisdd',4,4); +----------------------------+ | substring('mysqlisdd',4,4) | +----------------------------+ | qlis | +----------------------------+ 1 row in set (0.00 sec) 

2、数值函数

函数
功能
ABS(x) 
返回 x 的绝对值 
CEIL(x) 
返回大于 x 的最大整数值
FLOOR(x) 
返回小于 x 的最大整数值 
MOD(x,y) 
返回 x/y 的模
RAND() 
返回 0 到 1 内的随机值
ROUND(x,y) 
返回参数 x 的四舍五入的有 y 位小数的值 
TRUNCATE(x,y) 
返回数字 x 截断为 y 位小数的结果

1: ABS(x)函数:返回 x 的绝对值。

 mysql> select abs(-0.3),abs(0.3); +-----------+----------+ | abs(-0.3) | abs(0.3) | +-----------+----------+ | 0.3 | 0.3 | +-----------+----------+ 1 row in set (0.36 sec) 

2:CEIL(x)函数,返回大于x的最大整数

 mysql> select ceil(-0.2),ceil(0.2); +------------+-----------+ | ceil(-0.2) | ceil(0.2) | +------------+-----------+ | 0 | 1 | +------------+-----------+ 1 row in set (0.00 sec) 

3:FLOOR(x)函数,返回小于x的最大整数,和CEIL刚好相反

 mysql> select floor(-0.2),floor(0.2); +-------------+------------+ | floor(-0.2) | floor(0.2) | +-------------+------------+ | -1 | 0 | +-------------+------------+ 1 row in set (0.00 sec) 

4:MOD(x,y)函数:返回 x/y 的模。和 x%y 的结果相同,模数和被模数任何一个为 NULL 结果都为 NULL。如下例所示:

 mysql> select mod(15,10),mod(1,11),mod(null,10); +------------+-----------+--------------+ | mod(15,10) | mod(1,11) | mod(null,10) | +------------+-----------+--------------+ | 5 | 1 | NULL | +------------+-----------+--------------+ 1 row in set (0.00 sec) 

5:RAND()函数,返回0到1之间的随机数

 mysql> select rand(),rand(); +-------
                
                

-六神源码网