## 【一】什么是函数

		跟存储过程是有区别的,存储过程是自定义函数,函数就类似于内置函数
注意与存储过程的区别,mysql内置的函数只能在sql语句中使用!

```sql
【二】字符串函数
【0】介绍
CONCAT(str1, str2, ...): 将多个字符串连接成一个字符串。
SUBSTRING(str, start, length): 返回字符串的子串。
UPPER(str): 将字符串转换为大写。
LOWER(str): 将字符串转换为小写。
LENGTH(str): 返回字符串的长度。
Trim、LTrim、RTrim: 移除指定字符
Left、Right: 获取左右起始指定个数字符
Soundex: 返回读音相似值(对英文效果)

【二】数值函数
【1】介绍
ROUND(num, decimals): 对数值进行四舍五入。
FLOOR(num): 返回不大于给定数值的最大整数。
CEILING(num): 返回不小于给定数值的最小整数。
ABS(num): 返回给定数值的绝对值。
【2】示例
SELECT ROUND(3.14159, 2) AS RoundedNum; -- 3.14
SELECT FLOOR(3.99999) AS FloorNum; -- 3
SELECT CEILING(3.00001) AS CeilingNum; -- 4
SELECT ABS(-123.45) AS AbsNum; -- 123.45

【三】日期和时间函数
【1】介绍
NOW(): 返回当前日期和时间。
CURDATE(): 返回当前日期。
CURTIME(): 返回当前时间。
DATE_FORMAT(date, format): 格式化日期。
【2】示例
SELECT NOW() AS CurrentDateTime; -- 当前日期和时间
SELECT CURDATE() AS CurrentDate; -- 当前日期
SELECT CURTIME() AS CurrentTime; -- 当前时间
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS FormattedDateTime; -- 格式化后的日期和时间


【四】聚合函数
【1】介绍
COUNT(column): 计算符合条件的行数。
SUM(column): 对指定列的值求和。
AVG(column): 计算指定列的平均值。
MIN(column): 找到指定列的最小值。
MAX(column): 找到指定列的最大值。
【2】示例
SELECT COUNT(*) AS RowCount FROM Employees;
SELECT SUM(Salary) AS SalarySum FROM Employees;
SELECT AVG(Salary) AS AverageSalary FROM Employees;
SELECT MIN(Salary) AS MinSalary FROM Employees;
SELECT MAX(Salary) AS MaxSalary FROM Employees;

【具体示例】

字符串函数

示例:
-- 将两个字符串连接成一个字符串
SELECT CONCAT('Hello', 'World') AS ConcatenatedString;

-- 返回字符串的子串
SELECT SUBSTRING('Hello World', 1, 5) AS SubstringResult;

-- 将字符串转换为大写
SELECT UPPER('hello') AS UppercaseString;

-- 将字符串转换为小写
SELECT LOWER('WORLD') AS LowercaseString;

-- 返回字符串的长度
SELECT LENGTH('Hello') AS StringLength;

数值函数

示例:
-- 对数值进行四舍五入
SELECT ROUND(3.14159, 2) AS RoundedNumber;

-- 返回不大于给定数值的最大整数
SELECT FLOOR(3.99999) AS FloorNumber;

-- 返回不小于给定数值的最小整数
SELECT CEILING(3.00001) AS CeilingNumber;

-- 返回给定数值的绝对值
SELECT ABS(-123.45) AS AbsoluteNumber;

日期和时间函数

示例:
-- 返回当前日期和时间
SELECT NOW() AS CurrentDateTime;

-- 返回当前日期
SELECT CURDATE() AS CurrentDate;

-- 返回当前时间
SELECT CURTIME() AS CurrentTime;

-- 格式化日期
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS FormattedDateTime;

聚合函数

示例:
-- 计算符合条件的行数
SELECT COUNT(*) AS RowCount FROM Employees;

-- 对指定列的值求和
SELECT SUM(Salary) AS SalarySum FROM Employees;

-- 计算指定列的平均值
SELECT AVG(Salary) AS AverageSalary FROM Employees;

-- 找到指定列的最小值
SELECT MIN(Salary) AS MinSalary FROM Employees;

-- 找到指定列的最大值
SELECT MAX(Salary) AS MaxSalary FROM Employees;

条件函数

示例:
-- 根据年龄判断成年人或未成年人
SELECT IF(Age > 18, 'Adult', 'Child') AS AgeGroup FROM Employees;

-- 根据工资高低分类
SELECT CASE WHEN Salary > 5000 THEN 'High' ELSE 'Low' END AS SalaryGroup FROM Employees;

这样,您可以更清晰地了解每个函数类型的用途和示例。如果您需要进一步的解释或有其他问题,请随时告诉我。