上一篇
如何在数据库中巧妙运用函数实现高效查询与管理?
- 数据库
- 2025-11-28
- 9
在数据库中,函数是用于执行特定任务的预定义的代码块,它们可以帮助我们简化查询,提高数据处理的效率,以下是一些常见的数据库函数及其用法:

字符串函数
| 函数名称 | 描述 | 示例 |
|---|---|---|
| CONCAT | 将两个或多个字符串连接起来 | SELECT CONCAT(‘Hello, ‘, ‘World!’) AS Greeting; |
| UPPER | 将字符串转换为大写 | SELECT UPPER(‘hello world’) AS UpperCase; |
| LOWER | 将字符串转换为小写 | SELECT LOWER(‘HELLO WORLD’) AS LowerCase; |
| LENGTH | 返回字符串的长度 | SELECT LENGTH(‘hello world’) AS Length; |
| SUBSTRING | 从字符串中提取子字符串 | SELECT SUBSTRING(‘hello world’, 1, 5) AS Substring; |
| REPLACE | 替换字符串中的指定字符 | SELECT REPLACE(‘hello world’, ‘world’, ‘database’) AS Result; |
| TRIM | 删除字符串两端的空格 | SELECT TRIM(‘ hello world ‘) AS Trimmed; |
数字函数
| 函数名称 | 描述 | 示例 |
|---|---|---|
| ABS | 返回数字的绝对值 | SELECT ABS(5) AS AbsoluteValue; |
| CEILING | 返回大于或等于指定数字的最小整数 | SELECT CEILING(3.14) AS CeilingValue; |
| FLOOR | 返回小于或等于指定数字的最大整数 | SELECT FLOOR(3.14) AS FloorValue; |
| ROUND | 返回指定数字的四舍五入值 | SELECT ROUND(3.14, 2) AS RoundedValue; |
| MOD | 返回两个数字相除的余数 | SELECT MOD(10, 3) AS Modulus; |
| POWER | 返回指定数字的幂次方 | SELECT POWER(2, 3) AS PowerValue; |
日期和时间函数
| 函数名称 | 描述 | 示例 |
|---|---|---|
| CURRENT_DATE | 返回当前日期 | SELECT CURRENT_DATE AS Today; |
| CURRENT_TIME | 返回当前时间 | SELECT CURRENT_TIME AS Now; |
| CURRENT_TIMESTAMP | 返回当前日期和时间 | SELECT CURRENT_TIMESTAMP AS Now; |
| EXTRACT | 从日期时间值中提取特定的部分(如年、月、日等) | SELECT EXTRACT(YEAR FROM CURRENT_DATE) AS Year; |
| ADD_MONTHS | 在日期上增加或减少指定月份 | SELECT ADD_MONTHS(CURRENT_DATE, 5) AS DateAfter5Months; |
| DATEDIFF | 返回两个日期之间的天数差 | SELECT DATEDIFF(CURRENT_DATE, ‘20210101’) AS DaysPassed; |
聚合函数
| 函数名称 | 描述 | 示例 |
|---|---|---|
| SUM | 返回一组值的总和 | SELECT SUM(salary) AS TotalSalary FROM employees; |
| AVG | 返回一组值的平均值 | SELECT AVG(salary) AS AverageSalary FROM employees; |
| MIN | 返回一组值中的最小值 | SELECT MIN(salary) AS MinSalary FROM employees; |
| MAX | 返回一组值中的最大值 | SELECT MAX(salary) AS MaxSalary FROM employees; |
FAQs
Q1:如何在SQL中连接两个字符串?
A1:在SQL中,您可以使用CONCAT函数来连接两个或多个字符串,以下是一个示例:


SELECT CONCAT('Hello, ', 'World!') AS Greeting;
Q2:如何在SQL中获取当前日期和时间?
A2:在SQL中,您可以使用CURRENT_DATE、CURRENT_TIME和CURRENT_TIMESTAMP函数来获取当前日期和时间,以下是一个示例:
SELECT CURRENT_DATE AS Today; SELECT CURRENT_TIME AS Now; SELECT CURRENT_TIMESTAMP AS Now;