SQL 函数种类繁多,下面是几类常用 SQL 函数及其详细作用:
1. 聚合函数
1.COUNT(expression): 计算指定列或所有行的数量。例如,COUNT(*) 计算所有行数。
2.SUM(column): 计算指定列的总和,通常用于数值型列。
3.AVG(column): 计算指定列的平均值,适用于数值型列。
4.MIN(column): 查找指定列中的最小值。
5.MAX(column): 查找指定列中的最大值。
2. 字符串函数
6.CONCAT(str1, str2, ...): 连接多个字符串为一个。例如,CONCAT('Hello', ' ', 'World') 返回 'Hello World'。
7.SUBSTRING(str, start, length): 提取子字符串,从指定位置开始,长度为 length。例如,SUBSTRING('abcdef', 2, 3) 返回 'bcd'。
8.LENGTH(str): 返回字符串的长度。例如,LENGTH('Hello') 返回 5。
9.UPPER(str): 将字符串转换为大写。例如,UPPER('hello') 返回 'HELLO'。
10.LOWER(str): 将字符串转换为小写。例如,LOWER('HELLO') 返回 'hello'。
11.TRIM(str): 去除字符串两端的空格。例如,TRIM(' hello ') 返回 'hello'。
3. 数学函数
12.ROUND(number, decimals): 四舍五入,保留指定的小数位数。例如,ROUND(123.456, 2) 返回 123.46。
13.FLOOR(number): 向下取整,返回不大于指定数值的最大整数。例如,FLOOR(123.456) 返回 123。
14.CEIL(number): 向上取整,返回不小于指定数值的最小整数。例如,CEIL(123.456) 返回 124。
15.ABS(number): 返回数值的绝对值。例如,ABS(-123) 返回 123。
16.RAND(): 生成一个 0 到 1 之间的随机浮点数。例如,RAND() 可能返回 0.123456。
4. 日期和时间函数
17.NOW(): 返回当前的日期和时间。例如,NOW() 可能返回 '2024-09-02 12:34:56'。
18.CURDATE(): 返回当前的日期,不包含时间。例如,CURDATE() 可能返回 '2024-09-02'。
19.DATEADD(date, interval, unit): 在指定日期上加上时间间隔。例如,DATEADD('2024-09-02', 10, 'DAY') 返回 '2024-09-12'。
20.DATEDIFF(date1, date2): 计算两个日期之间的差值,返回天数。例如,DATEDIFF('2024-09-02', '2024-08-20') 返回 13。
5. 转换函数
21.CAST(expression AS data_type): 将表达式转换为指定的数据类型。例如,CAST('123' AS INT) 返回整数 123。
22.CONVERT(expression, data_type): 与 CAST() 类似,但语法略有不同。例如,CONVERT('123', SIGNED) 返回整数 123。
6. 条件函数
23.CASE: 条件表达式,用于实现复杂的条件逻辑。例如:
sql
SELECT
CASE
WHEN score >= 90 THEN 'Excellent'
WHEN score >= 80 THEN 'Good'
ELSE 'Needs Improvement'
END AS performance
FROM students;
这些函数可以用来进行数据分析、格式化和转换,帮助你更有效地处理和管理数据库中的数据。