SQL函数是在SQL语句中使用的预定义的计算工具,可以对一列数据进行操作并返回一个单一的结果。这些函数大致可以分为两类:Aggregate函数和Scalar函数。Aggregate函数对一组值执行计算,并返回单个值,如求和、平均值、最大值和最小值等。Scalar函数则对单个值执行操作,并返回单个结果,如数据类型转换、获取字符串长度和提取日期部分等。
以下是一些常用的SQL函数及:
1. Aggregate函数
-
SUM()
: 计算指定列的总和。
示例:SELECT SUM(sales_amount) FROM sales_table;
(计算销售金额的总和)
-
AVG()
: 计算指定列的平均值。
示例:SELECT AVG(price) FROM products;
(计算产品价格的平均值)
-
COUNT()
: 计算行数或非空值的数量。
示例:SELECT COUNT(*) FROM employees;
(计算员工表中的行数)
-
MAX()
和MIN()
: 分别返回指定列的最大值和最小值。
示例:SELECT MAX(salary) FROM employees;
(返回员工工资的最大值)
2. Scalar函数
-
字符串函数:
-
CONCAT()
: 连接两个或多个字符串。
示例:
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
(连接员工的姓和名)-
SUBSTRING()
: 提取字符串的一部分。
示例:
SELECT SUBSTRING(product_name, 1, 5) FROM products;
(提取产品名称的前五个字符)-
UPPER()
和LOWER()
: 将字符串转换为大写或小写。
示例:
SELECT UPPER(name) FROM customers;
(将客户名称转换为大写) -
-
数字函数:
-
ROUND()
: 将数字四舍五入到指定的小数位数。
示例:
SELECT ROUND(price, 2) FROM products;
(将产品价格四舍五入到两位小数)-
CEIL()
和FLOOR()
: 分别向上取整和向下取整。
示例:
SELECT CEIL(4.2);
(返回5),SELECT FLOOR(4.8);
(返回4)-
ABS()
: 返回一个数的绝对值。
示例:
SELECT ABS(-10);
(返回10) -
-
日期和时间函数:
-
NOW()
: 返回当前的日期和时间。
示例:
SELECT NOW();
-
YEAR()
,MONTH()
,DAY()
: 分别提取日期中的年、月、日部分。
示例:
SELECT YEAR(order_date) FROM orders;
(提取订单日期中的年份)-
DATE_ADD()
和DATE_SUB()
: 在日期上加上或减去一定的时间间隔。
示例:
SELECT DATE_ADD(order_date, INTERVAL 7 DAY) FROM orders;
(在订单日期上加上7天) -
-
流程控制函数:
-
IF()
: 根据条件返回不同的值。
示例:
SELECT age, IF(age > 30, 'Adult', 'Teenager') AS age_group FROM users;
-
COALESCE()
: 返回一系列表达式中第一个非NULL的值。
示例:
SELECT COALESCE(NULL, 'Second Value', 'Third Value');
(返回’Second Value’) -
此外,还有一些其他常用的函数,如类型转换函数(CAST()
和 CONVERT()
)、获取字符串长度函数(LENGTH()
)、去除字符串前后空格函数(TRIM()
)等。这些函数在数据处理和转换过程中非常有用,可以根据具体需求灵活使用。
SQL函数提供了丰富的数据处理能力,可以帮助开发人员和数据分析师更有效地处理和分析数据。通过熟练掌握这些函数的用法,可以提高工作效率。