mysql提供了众多功能强大的、方便使用得当函数。使用这些函数,能够极大的提升用户对于数据库的管理效率。mysql中的函数包括:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数等。mysql
函数表示对输入参数值返回一个具备特定关系的值,mysql提供了大量丰富的函数,在进行数据库管理以及数据的查询和操做时将会常常使用到各类函数。经过对数据的处理,数据库的功能能够变的更加的强大,以知足不一样用户的需求。sql
ABS(X)返回数据X的绝对值数据库
PI()返回的是圆周率Π的值,默认的是显示小数位数是后六位。函数
SQRT(X)返回的是X的二次方根的值。X必须是非负数,不然返回的是NULL。加密
MOD(X,Y)返回的是X被Y除之后的余数,MOD(X,Y)对于带有小数的数值也起做用,返回除法运算后的精确余数。3d
CEIL(X),CEILING(x)两个函数的意义相同,都是返回大于数值X的最小整数,返回值转化为BIGINT类型。code
FLOOR(x)函数是返回小于数值x的最大整数,返回值转化为BIGINT类型。blog
RAND()返回的是一个随机的在0~1之间的一个随机浮点数。字符串
RAND(X)返回的是一个随机的在0~1之间的一个随机浮点数,可是若是X相同时,返回相同的浮点数,用来产生重复序列。数学
ROUND(x)返回数值x的最接近X的数值。对数值进行四舍五入。
ROUND(x,y)返回数值x的最接近x的数值,若是是带有小数的数,保留小数点后y位。若y为负数,那么保留小数点前面整数位第几位。
TRUNCATE(x,y)函数返回的是数值x精确到小数点后几位的数,不进行四舍五入,这是和ROUND函数的区别。若是y是负数的话,那么直接将小数点前y位归零并输出显示。
SIGN(x)函数返回的是x的符号,若是数值x是正数,返回1;负数返回-1;0返回0。
POW(x,y)和POWER(x,y)返回的是x的y次方的结果值。
EXP(x)返回的是e的x次方的值。
CHAR_LENGTH(x)返回的是字符串的字符数,一个多字节字符算做一个单字符,好比一个汉字占2个字符可是算做一个单字符。
LENGTH(x)返回的是字符串的长度,一个汉字是2个字节,一个数字或者一个字母是一个字符。
CONCAT(s1,s2,...)返回的结果是,将s1到sn这些字符串链接之后的字符串,任何一个参数为NULL时,返回为NULL。
CONCAT_WS(x,s1,s2,...)返回的结果是,以x为后面跟的参数的链接符号,而后链接输出字符串。若是分隔符为NULL,则返回结果为NULL;若是后面的参数有NULL时,则会忽略NULL值输出。
INSERT(s1,x,len,s2)返回的是:将s1从第x个字符开始以后长度为len的字符替换为s2之后的字符串。
若是 x > len(s1),那么原字符串输出;若是 x < len(s1) AND len <= len(s2),输出替换后的字符串;若是 len > len(s2),那么从x处开始替换。
LOWER(str)和LCASE(str)意义是同样的,都是将字符串中的大写字母替换成小写字母。
UPPER(str)和UCASE(str)意义是同样的,都是将字符串中的小写字母替换成大写字母。
LEFT(str,n)返回的是:字符串从左边开始到第n个字符之间的字符。
RIGHT(str,n)返回的是:字符串从右边第n个字符开始到str结束的之间的字符。
LPAD(s1,len,s2)\RPAD(s1,len,s2) 返回的是:若是s1长度不足len的时候,自动用s2在 左边\右边 补足len的长度,而后输出;若是s1恰好等于len,那么直接输出s1;若是len小于s1的时候,就至关因而获取指定长度的字符串,可是都是从左边开始截取。
LTRIM(s)返回的是删除字符串左边所有空格之后的字符串,RTRIM(s)返回的是删除字符串右边所有空格之后的字符串,TRIM(s)返回的是删除字符串左右两边的所有空格之后的字符串。
TRIM(s FROM s1)返回的是:删除s1中的指定的、在s1两端的、指定的字符串s,之后返回的字符串。若是 s FROM 不存在,则表示删除左右两边的空格而后输出字符串。
REPEAT(str,n)返回的是:重复n遍输出的字符串。若是n等于0,返回一个空的字符串;若是n或者str为null,返回NULL。
SPACE(n)返回的是由n个空格组成的字符串。
REPLACE(s,s1,s2)返回的是:将字符串s中的s1用s2替换后返回的字符串。
STRCMP(s1,s2)返回的是:若是 s1 > s2,返回1;若是 s1 < s2,返回-1;若是 s1 = s2,返回0。
比较的规则是:依次一个字母\数字的比较,若是第一个比较出大小以后,直接返回值,再也不进行比较。若是第一个没有比较出来的话,会接着按顺序比较后面的。
SUBSTRING(s,n,len)和MID(s,n,len)意义是同样的,返回的是字符串s从第n个字符开始的,以后的长度为len的字符串。
LOCATE(str1,str)、POSITION(str1 IN str)、INSTR(str,str1)意义是同样的,都是返回str1参数,在str参数内的位置。
REVERSE(s)返回的是:倒叙输出的字符串。
ELT(N,str1,str2,...)返回的是:N是几,就返回strN。
若是含有一个NULL,返回值就是NULL。
IF(expr,s1,s2)含义是:若是expr是真(即,expr <> 0 and expr <> NULL),时,返回第一个参数 s1,不然返回第二个参数s2。
case函数的语法:
(1)case expr when v1 then s1 when v2 then s2 end
(2)case when v1 then s1 else rn end
USER()、CURRENT_USER()、SYSTEM_USER()
1.PASSWORD(str)
2.MD5(str)
3.ENCODE(str,pswd_str)
4解密函数 DECODE(encode_str,pswd_str)
1.格式化函数 FORMAT(x,n)
2.不一样进制间的数字进行转换的函数 CONV(N,from_base,to_base)
3.重复执行指定的操做的函数 BENCHMARK(count,expr)
可用于计算MySQL处理表达式的速度