1.函数的理解
*函数可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在SQL中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地提高用户对数据库的管理效率。
*DBMS 之间的差异性很大,远大于同一个语言不同版本之间的差异。大部分 DBMS 会有自己特定的函数,采用 SQL 函数的代码可移植性很差,因此在使用函数的时候需要特别注意。
*MySQL提供的内置函数从实现的功能角度可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL信息函数、聚合函数等。
*单行函数:
操作数据对象
接受参数返回一个结果
只对一行进行变换
每行返回一个结果
可以嵌套
参数可以是一列或一个值
2.数值函数
2.1基本函数
*例子:
SELECT
ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32),
FLOOR(-43.23),MOD(12,5)
FROM DUAL;
SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1)
FROM DUAL;
SELECT
ROUND(12.33),ROUND(12.343,2),ROUND(12.324,-1),TRUNCATE(12.66,1),TRUNCATE(12.66,-1)
FROM DUAL;
2.2角度与弧度互换函数
*例子:
SELECT RADIANS(30),RADIANS(60),RADIANS(90),DEGREES(2*PI()),DEGREES(RADIANS(90))
FROM DUAL;
2.3三角函数
2.4指数与对数
2.5进制之间的转换
3.字符串函数
4.时间和日期函数
4.1获取日期、时间
4.2日期与时间戳的转换
4.3获取月份、星期、星期数、天数等函数
4.4日期的操作函数
*EXTRACT(type FROM date)函数中type的取值与含义:
4.5时间和秒钟转换的函数
4.6计算日期和时间的函数
*上述函数中type的取值:
4.7日期的格式化与解析
*非GET_FORMAT 函数中fmt参数常用的格式符:
*GET_FORMAT函数中date_type和format_type参数取值如下:
5.流程控制函数
*流程处理函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中实现不同的条件选择。
*MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数。
6.加密与解密函数
*加密与解密函数主要用于对数据库中的数据进行加密和解密处理,以防止数据被他人窃取。这些函数在保证数据库安全时非常有用。
7.MySQL信息函数
*MySQL中内置了一些可以查询MySQL信息的函数,这些函数主要用于帮助数据库开发或运维人员更好地对数据库进行维护工作。
8.其他函数