数值函数
abs(x) 返回x的绝对值
mod(n,m)返回n被m除的余数,相当于n%m
floor(x)返回小于等于x的最大整数(向下取整),例floor(-1.2)返回-2
ceil(x)返回大于等于x的最小整数(向上取整)
round(x)返回四舍五入的整数,1.2返回1, 1.5返回2
truncate(n,m)返回n截断为m位小数的结果,例truncate(2.1234,3)返回2.123
字符串函数
ascii(str)返回字符串最左边字符的ASCII代码值
concat(str1,str2,str3...)连接字符串
insert(str,x,y,instr)从str第x位开始,y个长度,替换为instr |
lower(str) upper(str) 转小写、大写字母
left(str,x)返回字符串最左边的x个字符
right(str,x)返回字符串最右边的x个字符
lpad(str,x,pad)用字符串pad对str的左边进行填充,并截取x位
rpad(str,x,pad)右边
ltrim(str) rtrim(str) trim(str)去除左边的 右边的 两边的空格
repeat(str,x)返回str x次 例repeat(‘123’, 2)返回123123,如果x带小数,则会四舍五入再返回
replace(str,a,b)将str中的字符串a更改为b
strcmp(a,b)比较字符串a和b,若a>b返回1,小于返回-1,等于返回0
substring(str,x,y)返回str从第x位开始y个长度的字符串
时间函数
now() 返回当前日期和时间 格式:2019-10-26 00:00:00
curdate() 返回当前日期 格式:2019-10-26
curtime() 返回当前时间 格式:00:00:00
unix_timestamp(date) 返回date的时间戳
from_unixtime(time) 返回时间戳的date值
week(date)返回日期date为一年中的第几周
year(date)返回日期date的年份
hour(time)返回time的小时值
minute(time)返回time的分钟值
monthname(date)返回date的英文月份名
datediff(expr1,expr2)返回起始时间和结束时间之间的天数
流程函数
if(bool,a,b) 如果bool是真,返回a,否则返回b
ifnull(a,b) 如果a是null则返回b,否则返回a
case when [bool] then [value1] else [value2] end 当bool为真时返回value1,否则返回value2(可以使用多个when...then进行判断)
case [value] when [a1] then [result]...else [default_value] 匹配value的值,如果等于a1,那么返回result,也可以跟上多个匹配,若都匹配不上的话,返回default_value
聚合函数
avg、sum、max、min、count 平均数 求和 最大值 最小值 个数