MySQL 常用内置函数
【数值函数】Abs(X) //绝对值abs(-10.9) = 10Format(X,D) //格式化千分位数值format(1234567.456, 2) =1,234,567.46Ceil(X) //向上取整ceil(10.1) = 11Floor(X) //向下取整floor (10.1) = 10Round(X) //四舍五入去整Mod(M,N) M%N M MOD N //求余 10%3=1Pi() //获得圆周率Pow(M,N) //M^NSqrt(X) //算术平方根Rand() //随机数TRUNCATE(X,D) //截取D位小数
【时间日期函数】Now(),current_timestamp() //当前日期时间Current_date() //当前日期current_time() //当前时间Date(‘yyyy-mm-dd HH;ii:ss’) //获取日期部分Time(‘yyyy-mm-dd HH;ii:ss’) //获取时间部分Date_format(‘yyyy-mm-dd HH;ii:ss’,’%D %y %a %d %m %b %j')Unix_timestamp() //获得unix时间戳From_unixtime() //从时间戳获得时间
【字符串函数】
ASCII(str) //返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL.LENGTH(string ) //string长度,字节CHAR_LENGTH(string) //string的字符个数SUBSTRING(str ,position [,length ]) //从str的position开始,取length个字符REPLACE(str ,search_str ,replace_str) //在str中用replace_str替换search_strINSTR(string ,substring ) //返回substring首次在string中出现的位置CONCAT(string [,... ]) //连接字串CHARSET(str) //返回字串字符集LCASE(string ) //转换成小写LEFT(string ,length) //从string2中的左边起取length个字符LOAD_FILE(file_name) //从文件读取内容LOCATE(substring , string [,start_position ]) //同INSTR,但可指定开始位置LPAD(string ,length ,pad ) //重复用pad加在string开头,直到字串长度为lengthLTRIM(string ) //去除前端空格REPEAT(string ,count ) //重复count次RPAD(string ,length ,pad) //在str后用pad补充,直到长度为lengthRTRIM(string ) //去除后端空格STRCMP(string1 ,string2 ) //逐字符比较两字串大小TRIM(string) //去除前后两端的空格
【流程函数】CASE WHEN [condition]THEN result[WHEN [condition]THEN result ...][ELSE result]END 多分支IF(expr1,expr2,expr3) 双分支。
【聚合函数】Count() 返回检索行的数目,不论其是否包含 NULL值Sum() 用于计算一组值或表达式的总和Max() 返回一组值中的最大值Min() 返回一组值中的最小值Avg() 返回一组值中的平均值Group_concat() 将组中的字符串连接成为具有各种选项的单个字符串
【其他常用函数】Md5() 对数据加密Default() 默认(DEFAULT)约束提供一个默认值,以当INSERT INTO语句不提供特定值的列
MySQL数据库提供了很多函数包括:
数学函数;
字符串函数;
日期和时间函数;
条件判断函数;
系统信息函数;
加密函数;
格式化函数;
一、数学函数
数学函数主要用于处理数字,包括整型、浮点数等。
函数
作用
ABS(x)
返回x的绝对值
SELECT ABS(-1) -- 返回1
CEIL(x),CEILING(x)
返回大于或等于x的最小整数
SELECT CEIL(1.5) -- 返回2
FLOOR(x)
返回小于或等于x的最大整数
SELECT FLOOR(1.5) -- 返回1
RAND()
返回0->1的随机数
SELECT RAND() --0.93099315644334
RAND(x)
返回0->1的随机数,x值相同时返回的随机数相同
SELECT RAND(2) --1.5865798029924
SIGN(x)
返回x的符号,x是负数、0、正数分别返回-1、0和1
SELECT SIGN(-10) -- (-1)
PI()
返回圆周率(3.141593)
SELECT PI() --3.141593
TRUNCATE(x,y)
返回数值x保留到小数点后y位的值(与ROUND最大的区别是不会进行四舍五入)
SELECT TRUNCATE(1.23456,3) -- 1.234
ROUND(x)
返回离x最近的整数 SELECT ROUND(1.23456) --1
ROUND(x,y)
保留x小数点后y位的值,但截断时要进行四舍五入
SELECT ROUND(1.23456,3) -- 1.235
POW(x,y).POWER(x,y)
返回x的y次方
SELECT POW(2,3) -- 8
SQRT(x)
返回x的平方根
SELECT SQRT(25) -- 5
EXP(x)
返回e的x次方
SELECT EXP(3) -- 20.085536923188
MOD(x,y)
返回x除以y以后的余数
SELECT MOD(5,2) -- 1
LOG(x)
返回自然对数(以e为底的对数)
SELECT LOG(20.085536923188) -- 3
LOG10(x)
返回以10为底的对数
SELECT LOG10(100) -- 2
RADIANS(x)
将角度转换为弧度
SELECT RADIANS(180) -- 3.1415926535898
DEGREES(x)
将弧度转换为角度
SELECT DEGREES(3.1415926535898) -- 180
SIN(x)
求正弦值(参数是弧度)
SELECT SIN(RADIANS(30)) -- 0.5
ASIN(x)
求反正弦值(参数是弧度)
COS(x)
求余弦值(参数是弧度)
ACOS(x)
求反余弦值(参数是弧度)
TAN(x)
求正切值(参数是弧度)
ATAN(x) ATAN2(x)
求反正切值(参数是弧度)
COT(x)
求余切值(参数是弧度)
二、字符串函数
字符串函数是MySQL中最常用的一类函数,字符串函数主要用于处理表中的字符串。