SQL(Structured Query Language)提供了多种函数,用于执行各种操作,例如数据处理、数学计算、字符串操作等。以下是一些常见的 SQL 函数:

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