概述
在MySQL中,为了提高代码重用性和隐藏实现细节,MySQL提供了很多函数,函数可以理解为别人封装好的模板代码
分类
在MySQL中,函数非常多,主要可以分为以下几类:
- 聚合函数
- 数学函数
- 字符串函数
- 日期函数
- 控制流函数
- 窗口函数
聚合函数
在MySQL中聚合函数主要是:count、sum、min、max、avg…在前面的学习中都有学习过,还有一个特殊的函数,是没有学习过的 —— group_concat(),该函数用于实现行的合并,group_concat()函数首先根据 group by指定的列进行分组,并且用分隔符分隔,将同一组中的值连接起来,返回一个字符串结果
格式:
gropy_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符'])
说明:
- 使用distinct可以排除重复值
- 如果需要对结果中的值进行排序,可以使用order by子句
- separator是一个字符串值,默认为逗号
数学函数
函数名 | 描述 | 实例 |
---|---|---|
abs(x) | 返回x的绝对值 | select abs(-1) – 返回1 |
ceil(x) | 返回大于或等于x的最小整数 | select ceil(1.5) – 返回2 |
floor(x) | 返回小于或等于x的最大整数 | select floor(1.5) – 返回1 |
greatest(expr1,expr2,expr3,…) | 返回列表中的最大值 | select greatest(3,12,34,8,25) – 返回34 |
least(expr1,expr2,expr3,…) | 返回列表中的最小值 | select least(3,12,34,8,25) – 返回3 |
max(expression) | 返回expression中的最大值 | select max(price) from product |
min(expression) | 返回expression中的最小值 | select min(price) from product |
mod(x,y) | 返回x除以y以后的余数 | select mod(5,2) – 返回1 |
pi() | 返回圆周率 | select pi() – 返回3.141593 |
power(x,y) | 返回x的y次方 |