1、函数的理解

函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,
需要的时候直接调用即可。这样既 提高了代码效率 ,又 提高了可维护性 。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地 提高用户对数据库的管理效率 。

从函数定义的角度出发,我们可以将函数分成 内置函数 和 自定义函数 。在 SQL 语言中,同样也包括了
内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的。

DBMS 之间的差异性很大,远大于同一个语言不同版本之间的差异。实际上,只有很少的函数是被 DBMS 同时支持的。比如,大多数 DBMS 使用(||)或者(+)来做拼接符,而在 MySQL 中的字符串拼接函数为concat()。大部分 DBMS 会有自己特定的函数,这就意味着采用 SQL 函数的代码可移植性是很差的,因此在使用函数的时候需要特别注意。

2、函数的分类

MySQL提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好地提供数据的分析
与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率。
MySQL提供的内置函数从 实现的功能角度 可以分为数值函数、字符串函数、日期和时间函数、流程控制
函数、加密与解密函数、获取MySQL信息函数、聚合函数等。这里,我将这些丰富的内置函数再分为两
类: 单行函数 、 聚合函数(或分组函数) 。
QQ截图20220203163355.png
单行函数
操作数据对象
接受参数返回一个结果
只对一行进行变换
每行返回一个结果
可以嵌套
参数可以是一列或一个值

3、数值函数

3.1 基本函数

QQ截图20220203163814.png

3.2 角度与弧度互换函数

QQ截图20220203190825.png

3.3 三角函数

QQ截图20220203190914.png

3.4 指数与对数

QQ截图20220203191026.png

3.5 进制间的转换

QQ截图20220203191056.png

4、字符串函数

QQ截图20220203165029.png
QQ截图20220203194041.png
字符串的索引是从1开始的

5、日期和时间函数

5.1 获取日期、时间

QQ截图20220203200826.png

5.2 日期与时间戳的转换

QQ截图20220203200953.png

5.3 获取月份、星期、星期数、天数等函数

QQ截图20220203201047.png

5.4 日期的操作函数

QQ截图20220203201147.png
QQ截图20220203201213.png

5.5 时间和秒钟转换的函数

QQ截图20220203201354.png

5.6 计算日期和时间的函数

QQ截图20220203201430.png
QQ截图20220203201453.png
QQ截图20220203201601.png

5.7 日期的格式化与解析

QQ截图20220203201652.png
上述 非GET_FORMAT 函数中fmt参数常用的格式符:
QQ截图20220203201745.png
QQ截图20220203201822.png

6、流程控制函数

流程处理函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中实现不同的条件选择。MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数。
QQ截图20220204091022.png

7、加密与解密函数

加密与解密函数主要用于对数据库中的数据进行加密和解密处理,以防止数据被他人窃取。这些函数在
保证数据库安全时非常有用。
QQ截图20220204095746.png
MySQL8.0只能用MD5和SHA了

8、MySQL信息函数

MySQL中内置了一些可以查询MySQL信息的函数,这些函数主要用于帮助数据库开发或运维人员更好地
对数据库进行维护工作。
QQ截图20220204101157.png

9、其他函数

MySQL中有些函数无法对其进行具体的分类,但是这些函数在MySQL的开发和运维过程中也是不容忽视
的。
QQ截图20220204101539.png
第07章_单行函数.pdf