mysql中sql语句常用函数
聚合函数
#统计函数
count(字段) #统计参数字段有非空值的数据条数
count(*/1/0)#统计表中数据行数
#求和函数
sum(字段) #求参数字段的综合
#求均值
avg(字段) #求参数字段的平均值
#最大值/最小值
max(字段) #求参数字段的最大值
min(字段) #求参数字段的最小值
#分组拼接函数
group_concat(字段) #将参数字段的多个值拼接,默认连接符号是逗号
单行函数
#所有字符串常量正常使用时应加引号,特殊情况如对表或者查询结果起别名等除外
#字段/字符串大小写转换:
upper(字段/值) #将字段/值中的小写字母转化为大写
lower(字段/值) #将字段/值中的大写字母转化为小写
#字段/字符串求长度:
length(字段/值) #求字段/值的字符长度
char_length(字段/值) #求字段/值的长度,中文只占一个字符位
#字段/字符串部分内容替换:
replace(字段/值,‘需要替换对象的内容’,‘用于替换的新内容’)
#字段/字符串左/右内容补齐
lpad(字段/值,长度,'补齐内容') #字段长度不足所定长度时,
用补齐内容从左边补齐到指定长度
rpad(字段/值,长度,'补齐内容') #字段长度不足所定长度时,
用补齐内容从右边补齐到指定长度
#字段/字符串的左/右内容截取
left(字段/值,长度) #截取字段/字符串左边指定长度的内容
right(字段/值,长度) #截取字段/字符串左边指定长度的内容
#字段/值的内容拼接
concat(字段1/值1,字段2/值2...) #将所有指定字段进行拼接,
连接符号可自定义且属于一个指定的常量值
#当前时间函数
now() #获取当前系统时间,时间格式为yy-mm-dd hh:mm:ss
#时间操作函数
date_add(时间函数/时间字段/时间字符串常量,interval 操作数量 操作类型) #对时间
进行加减操作,操作数量为正数表示增加,操作数量为负数表示减少,
操作类型为year,month,day其中之一
#时间格式定义函数
date_format(时间函数/时间字段/时间字符串常量,‘%Y-%m-%d %H-%i-%S’)
#%Y-%m-%d %H-%i-%S为时间格式,分别代表年、月、日、时、分、秒,
且此处格式大小写敏感,可以按实际需要截取其中某些部分
#求绝对值
abs(字段/数值) #求指定参数的绝对值
#取整
floor(字段/值) #向下求参数的最大整数,例如:5.3的向下取整为5
ceiling(字段/值) #向上求参数的最小整数,例如:5.3的向上取整为6
#截取小数位数
round(数值函数/数值/字段,小数位数) #对参数进行小数保留位数指定,
保留时进行四舍五入计算
truncate(数值函数/数值/字段,小数位数) #对参数进行小数保留位数指定,
保留时进行四舍五入计算
#取余
mod(字段1/值1,字段2/值2) #值1取余值2
控制流函数
#字段或值的判断
ifnull(字段,值) #如果字段为空,返回参数-值,如果字段不为空,
返回该字段参数的值,用于判断字段是否为空
nullif(值1,值2) #如果值1=值2,则返回null,否则返回值1的值,
用于比较两个值是否相等
ifnull() #很重要的函数,可以用来判断表是否为空且给出最大或最小值,例如:
ifnull #(max(id),0) ifnull(min(id),1)
(case when 表达式1 then 值1 when 表达式2 then 值2...else 其他值 end)
(case 字段 when 值1 then 结果1 when 值2 then 结果2... else 其他结果 end)