1. 聚合函数(Aggregate Functions):
- COUNT(): 计算行数。
- SUM(): 计算总和。
- AVG(): 计算平均值。
- MIN(): 找到最小值。
- MAX(): 找到最大值。
示例:
SELECT COUNT(column1), AVG(column2), MAX(column3) FROM mytable WHERE condition;
2. 字符串函数(String Functions):
- CONCAT(): 连接字符串。
- SUBSTRING(): 提取子字符串。
- LENGTH(), LEN(): 获取字符串长度。
- UPPER(), LOWER(): 将字符串转为大写或小写。
- TRIM(): 移除字符串两端的空格。
示例:
SELECT CONCAT(first_name, ' ', last_name) AS full_name, UPPER(email) FROM employees;
3. 日期和时间函数(Date and Time Functions):
- NOW(), CURRENT_TIMESTAMP: 获取当前日期和时间。
- DATE(), TIME(): 分别获取日期和时间部分。
- YEAR(), MONTH(), DAY(): 提取年、月、日。
- DATEDIFF(): 计算日期差。
- DATE_ADD(), DATE_SUB(): 对日期进行加减操作。
示例:
SELECT NOW() AS current_datetime, YEAR(birthdate) AS birth_year FROM customers;
4. 数学函数(Math Functions):
- ABS(): 计算绝对值。
- ROUND(): 四舍五入。
- CEIL(), FLOOR(): 向上取整、向下取整。
- SQRT(): 计算平方根。
- POWER(): 计算幂。
示例:
SELECT ABS(column1), ROUND(column2, 2), SQRT(column3) FROM mytable;
5. 逻辑函数(Logical Functions):
- CASE WHEN: 类似于编程语言中的 if-else 结构。
示例:
SELECT
column1,
CASE WHEN column2 > 0 THEN 'Positive' ELSE 'Non-positive' END AS positivity
FROM mytable;
6. 聚合过滤函数(Filtering Aggregate Functions):
- SUM() ... FILTER(WHERE ...): 对聚合进行条件过滤。
示例:
SELECT
department,
SUM(salary) FILTER(WHERE status = 'Active') AS total_active_salary
FROM employees
GROUP BY department;
这只是 SQL 函数的一小部分,实际上 SQL 支持的函数非常丰富。在编写 SQL 查询时,根据具体需求选择合适的函数以执行所需的操作。
转载请注明出处:http://www.zyzy.cn/article/detail/3365/SQL