1. 聚合函数(Aggregate Functions)
COUNT():计算记录的数量
SUM():计算列值的总和。
AVG():计算列值的平均值。
MIN():返回列中的最小值。
MAX():返回列中的最大值。
2. 字符串函数(String Functions)
CONCAT():连接两个或多个字符串。
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
LENGTH() 或 LEN():返回字符串的长度。
SELECT LENGTH('Hello') AS string_length;
SUBSTRING() 或 SUBSTR():提取子字符串。
SELECT SUBSTRING('Hello, World', 1, 5) AS extracted_substring;
UPPER():将字符串转换为大写。
SELECT UPPER(first_name) FROM employees;
LOWER():将字符串转换为小写。
SELECT LOWER(first_name) FROM employees;
TRIM():去除字符串前后的空格。
SELECT TRIM(' hello ') AS trimmed_string;
REPLACE():替换字符串中的指定字符或子字符串。
SELECT REPLACE('Hello World', 'World', 'SQL') AS new_string;
3. 日期和时间函数(Date and Time Functions)
NOW() 或 CURRENT_TIMESTAMP():返回当前的日期和时间。
SELECT NOW();
-
CURDATE():返回当前日期。SELECT CURDATE(); -
DATE():从日期时间中提取日期部分。SELECT DATE(NOW()); -
YEAR(),MONTH(),DAY():提取日期的年、月、日部分。SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW()); -
DATE_ADD()或DATE_SUB():对日期进行加法或减法操作。SELECT DATE_ADD(NOW(), INTERVAL 1 DAY); -- 当前日期加 1 天 -
DATEDIFF():计算两个日期之间的天数差。SELECT DATEDIFF('2024-12-25', '2024-01-01');
4. 数学函数(Mathematical Functions)
这些函数用于执行数学运算。
-
ABS():返回绝对值。SELECT ABS(-123) AS absolute_value; -
ROUND():四舍五入到指定的小数位数。SELECT ROUND(123.456, 2) AS rounded_value; -
CEIL()或CEILING():返回大于或等于给定数字的最小整数。SELECT CEILING(123.45); -
FLOOR():返回小于或等于给定数字的最大整数。SELECT FLOOR(123.45); -
POW()或POWER():计算一个数的幂。SELECT POWER(2, 3) AS power_value; -- 2 的 3 次方 -
RAND():生成一个 0 到 1 之间的随机数。SELECT RAND(); - GREATEST(x1,x2,...,xn)返回集合中最大的值
- LEAST(x1,x2,...,xn) 返回集合中最小的值
5. 条件函数(Conditional Functions)
这些函数用于执行条件判断和转换。
IF():根据条件返回不同的值。SELECT IF(score >= 60, 'Pass', 'Fail') AS result FROM students;
CASE:实现更复杂的条件逻辑(类似于if-else)。
SELECT name,
CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' WHEN score >= 70 THEN 'C' ELSE 'D'
END AS grade
FROM students;
6. 类型转换函数(Type Conversion Functions)
这些函数用于转换数据类型。
-
CAST():将一个数据类型转换为另一个数据类型。SELECT CAST(price AS DECIMAL(10,2)) FROM products; -
CONVERT():与CAST()类似,常用于 MySQL 中。SELECT CONVERT(price, DECIMAL(10,2)) FROM products;
7. 分组与排序函数(Grouping and Sorting Functions)
这些函数用于在查询中进行分组和排序。
-
GROUP_CONCAT():将多行数据合并为一个字符串(在 MySQL 中)。SELECT department, GROUP_CONCAT(employee_name) FROM employees GROUP BY department; -
RANK(),ROW_NUMBER(),DENSE_RANK():为结果集中的每一行分配排名(在 SQL Server、PostgreSQL 和其他支持窗口函数的数据库中可用)。SELECT employee_name, salary, RANK() OVER (ORDER BY salary DESC) AS rank FROM employees;
729

被折叠的 条评论
为什么被折叠?



