这些函数可以减少后台逻辑层代码量,把一些基本操作从逻辑层中剔除,比如对字符串的操作,花式的算法,获取时间,最重要的是逻辑层代码看着干净,强迫症福利
1. 数学函数
abs(x)
返回x的绝对值
ceiling(x)
返回大于x的最小整数值
floor(x)
返回小于x的最大整数值
greatest(x1,x2,...,xn)
返回集合中最大的值
least(x1,x2,...,xn)
返回集合中最小的值
exp(x)
返回值e(自然对数的底)的x次方
ln(x)
返回x的自然对数
log(x,y)
返回x的以y为底的对数
mod(x,y)
返回x/y的余数
PI()
返回π的值(圆周率)
pow(X,Y)
返回值X的Y次幂
sqrt(N)
返回非负数N的平方根
cos(N)
返回N的余弦值
sin(N)
返回N的正弦值
tan(N)
返回N的正切值
acos(N)
返回N反余弦值(N是余弦值,在-1到1的范围,否则返回NULL)
asin(N)
返回N反正弦值(N是正弦值,在-1到1的范围,否则返回NULL)
atan(N)
返回N的反正切值
rand()
返回在范围0到1.0内的随机浮点值(可以使用数字N作为初始值)
degrees(N)
把N从弧度变换为角度并返回
radians(N)
把N从角度变换为弧度并返回
truncate(N,D)
保留数字N的D位小数并返回
2. 聚合函数
AVG(col)
返回指定列的平均值
COUNT(col)
返回指定列中非NULL值的个数
MIN(col)
返回指定列的最小值
MAX(col)
返回指定列的最大值
SUM(col)
返回指定列的所有值之和
GROUP_CONCAT(col)
返回由属于一组的列值连接组合而成的结果
3. 字符串函数
ASCII(char)
返回字符的ASCII码值
CONCAT(s1,s2...,sn)
将s1,s2...,sn连接成字符串
CONCAT_WS(sep,s1,s2...,sn)
将s1,s2...,sn连接成字符串,并用sep字符间隔
INSERT(str,x,y,instr)
将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
FIND_IN_SET(str,list)
逗号分隔的list列表,如果发现str,返回str在list中的位置
LEFT(str,x)
返回字符串str中最左边的x个字符
RIGHT(str,x)
返回字符串str中最右边的x个字符
LENGTH(str)
返回字符串str中的字符数
LTRIM(str)
从字符串str中切掉开头的空格
POSITION(substr,str)
返回子串substr在字符串str中第一次出现的位置
4. 时间日期函数
CURDATE()
返回当前的日期
CURTIME()
返回当前的时间
DAYOFWEEK(date)
返回date所代表的一星期中的第几天(1~7)
DAYOFMONTH(date)
返回date是一个月的第几天(1~31)
DAYOFYEAR(date)
返回date是一年的第几天(1~366)
NOW()
返回当前的日期和时间
HOUR(time)
返回time的小时值(0~23)
MINUTE(time)
返回time的分钟值(0~59)
MONTH(date)
返回date的月份值(1~12)
QUARTER(date)
返回date在一年中的季度(1~4)
WEEK(date)
返回日期date为一年中第几周(0~53)
YEAR(date)
返回日期date的年份(1000~9999)