分类:
- 单行函数:一个数对应一个反馈值
- 分组函数:一组数对应一个值,常用于统计
字符函数
length#获取参数值的字节个数
select length('like')
contact#拼接字符串
select contact(a,'_',b)
upper#变成大写
lower#变成小写
substr#截取**字符**
select substr('陌陌爱上了摇一摇',1,2)#1为字符的起始位置,2为结束位置,结果为陌陌
instr#返回子串第一次出现的索引,如果找不到返回0
select instr('陌陌爱上了摇一摇','摇一摇') #其结果为6
trim#去除字符串前后的空格
特殊用法
select trim('a' from 'aaaaaa默默sss摇一摇aaaa')#去除前后的a,结果是默默sss摇一摇
select trim('aa' from 'aaaaaaa默默sss摇一摇aaaa')#结果是a默默sss摇一摇
lpad#用指定的字符实现左填充指定长度
rpad#用指定的字符实现右填充指定长度
select lpad('默默',5,'+')#默默只够两个字符,故在左边填充3个*
replace#
select replace('默默爱上了摇一摇','摇一摇','附近的人')#用附近的人替换了摇一摇
数学函数
round#四舍五入
select round(2.364,2)#小数点后保留两位
ceil#向上取整,返回>=该参数的最小整数
floor#向下取整
select ceil(1.0001)#结果为2
truncate#截断
select truncate(1.66666,1)#小数点后面留一位
mod#取余
mod(a,b)#a除以b取余
日期函数
now#返回当前系统日期+时间
curdate#仅返回当前系统日期
curtime#仅返回当前时间
也可以获取指定的年、月、日、小时、分钟、秒
select year(1998-12-6)
select month(now())
指定的格式如下:
流程控制函数
if
select if(10<5,'大','小')
case用法①
case 要判断的字段、表达式、变量
when 常量1 then 要显示的值1或者语句1;#如果是值结尾,则不加封号
when 常量2 then 要显示的值2或者语句2;
...
else 要显示的值或语句n;
end
case用法②
case
when 条件1 then 要显示的值1或者语句1;#如果是值结尾,则不加封号
when 条件2 then 要显示的值2或者语句2;
...
else 要显示的值或语句n;
end
select salary,
case
when salary>2000 then ‘A’
when salary>15000 then ‘B’
else ‘D’
end as 工资级别
from employees;