在开发中,使用最频繁的 SQL 函数取决于你所处理的数据以及你的业务需求。以下是一些在开发中经常使用的 SQL 函数:
-
聚合函数:
COUNT()
:计算行数或符合特定条件的行数。SUM()
:计算某列的总和。AVG()
:计算某列的平均值。MIN()
和MAX()
:计算某列的最小值和最大值。
-
字符串函数:
CONCAT()
或||
:连接字符串。SUBSTRING()
:提取子串。UPPER()
和LOWER()
:将字符串转换为大写或小写。
-
日期和时间函数:
CURRENT_DATE
和CURRENT_TIME
:获取当前日期和时间。DATE()
和TIME()
:从日期时间中提取日期或时间部分。DATE_ADD()
和DATE_SUB()
:增加或减少日期的时间间隔。
-
条件函数:
CASE WHEN
:条件表达式,类似于编程语言中的if-else
。COALESCE()
:返回参数列表中的第一个非空值。
-
窗口函数(在支持的数据库中):
ROW_NUMBER()
、RANK()
和DENSE_RANK()
:对查询结果集中的行进行编号。LEAD()
和LAG()
:获取某一行的前一个或后一个行的值。
-
数学函数:
ABS()
:返回一个数的绝对值。ROUND()
:将数四舍五入到指定的小数位数。POWER()
:返回一个数的指定次幂。
sql函数用法:
-
聚合函数:
COUNT()
: 计算行数或符合特定条件的行数。SELECT COUNT(*) FROM table_name; SELECT COUNT(column_name) FROM table_name WHERE condition;
SUM()
: 计算某列的总和。SELECT SUM(column_name) FROM table_name;
AVG()
: 计算某列的平均值。SELECT AVG(column_name) FROM table_name;
MIN()
和MAX()
: 计算某列的最小值和最大值。SELECT MIN(column_name) FROM table_name; SELECT MAX(column_name) FROM table_name;
-
字符串函数:
CONCAT()
: 连接字符串。SELECT CONCAT(column1, column2) FROM table_name;
SUBSTRING()
: 提取子串。SELECT SUBSTRING(column_name, start_position, length) FROM table_name;
UPPER()
和LOWER()
: 将字符串转换为大写或小写。SELECT UPPER(column_name) FROM table_name; SELECT LOWER(column_name) FROM table_name;
-
日期和时间函数:
CURRENT_DATE
和CURRENT_TIME
: 获取当前日期和时间。SELECT CURRENT_DATE, CURRENT_TIME FROM table_name;
DATE()
和TIME()
: 从日期时间中提取日期或时间部分。SELECT DATE(datetime_column), TIME(datetime_column) FROM table_name;
DATE_ADD()
和DATE_SUB()
: 增加或减少日期的时间间隔。SELECT DATE_ADD(date_column, INTERVAL 1 DAY) FROM table_name;
-
条件函数:
CASE WHEN
: 条件表达式,类似于编程语言中的if-else
。SELECT CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE default_result END FROM table_name;
COALESCE()
: 返回参数列表中的第一个非空值。SELECT COALESCE(column1, column2, 'default_value') FROM table_name;
-
窗口函数(在支持的数据库中):
ROW_NUMBER()
、RANK()
和DENSE_RANK()
: 对查询结果集中的行进行编号。SELECT column1, column2, ROW_NUMBER() OVER (ORDER BY column1) AS row_num FROM table_name;
LEAD()
和LAG()
: 获取某一行的前一个或后一个行的值。SELECT column1, LEAD(column1) OVER (ORDER BY column1) AS next_value FROM table_name;
-
数学函数:
ABS()
: 返回一个数的绝对值。SELECT ABS(column_name) FROM table_name;
ROUND()
: 将数四舍五入到指定的小数位数。SELECT ROUND(column_name, 2) FROM table_name; -- 四舍五入到两位小数
POWER()
: 返回一个数的指定次幂。SELECT POWER(column_name, 2) FROM table_name; -- 计算平方