【oracle中的函数大全】在Oracle数据库中,函数是用于处理数据、执行计算和返回结果的重要工具。它们可以用于SQL查询、PL/SQL程序中,帮助用户更高效地操作和分析数据。Oracle提供了多种类型的函数,包括字符串函数、数值函数、日期函数、转换函数、聚合函数等。以下是对Oracle常用函数的总结,并以表格形式进行分类展示。
一、字符串函数
函数名 | 功能说明 | 示例 |
`UPPER` | 将字符串转换为大写 | `UPPER('hello')` → `'HELLO'` |
`LOWER` | 将字符串转换为小写 | `LOWER('HELLO')` → `'hello'` |
`SUBSTR` | 提取子字符串 | `SUBSTR('hello world', 7, 5)` → `'world'` |
`INSTR` | 查找子字符串的位置 | `INSTR('hello world', 'w')` → `7` |
`CONCAT` | 连接两个字符串 | `CONCAT('hello', ' world')` → `'hello world'` |
`TRIM` | 去除字符串两端的空格或指定字符 | `TRIM('hello')` → `'hello'` |
二、数值函数
函数名 | 功能说明 | 示例 |
`ROUND` | 四舍五入 | `ROUND(3.14159, 2)` → `3.14` |
`FLOOR` | 向下取整 | `FLOOR(3.9)` → `3` |
`CEIL` | 向上取整 | `CEIL(3.1)` → `4` |
`MOD` | 取余数 | `MOD(10, 3)` → `1` |
`ABS` | 绝对值 | `ABS(-5)` → `5` |
`POWER` | 幂运算 | `POWER(2, 3)` → `8` |
三、日期函数
函数名 | 功能说明 | 示例 |
`SYSDATE` | 返回当前系统日期和时间 | `SYSDATE` → `2025-04-05 10:30:00` |
`ADD_MONTHS` | 在日期上增加指定月份数 | `ADD_MONTHS('2025-04-05', 1)` → `2025-05-05` |
`LAST_DAY` | 返回某个月的最后一天 | `LAST_DAY('2025-04-05')` → `2025-04-30` |
`MONTHS_BETWEEN` | 计算两个日期之间的月份数 | `MONTHS_BETWEEN('2025-05-05', '2025-04-05')` → `1` |
`NEXT_DAY` | 返回指定日期之后的下一个指定星期几 | `NEXT_DAY('2025-04-05', 'MONDAY')` → `2025-04-07` |
四、转换函数
函数名 | 功能说明 | 示例 |
`TO_CHAR` | 将日期或数字转换为字符串 | `TO_CHAR(SYSDATE, 'YYYY-MM-DD')` → `'2025-04-05'` |
`TO_DATE` | 将字符串转换为日期 | `TO_DATE('2025-04-05', 'YYYY-MM-DD')` → `2025-04-05` |
`TO_NUMBER` | 将字符串转换为数字 | `TO_NUMBER('123.45')` → `123.45` |
`TO_LOB` | 将CLOB转换为BLOB或反之 | `TO_LOB('text data')` → `BLOB` |
`NVL` | 如果表达式为NULL则返回默认值 | `NVL(NULL, 'default')` → `'default'` |
五、聚合函数
函数名 | 功能说明 | 示例 |
`SUM` | 求和 | `SUM(sales)` → 总销售额 |
`AVG` | 求平均值 | `AVG(sales)` → 平均销售额 |
`MAX` | 求最大值 | `MAX(sales)` → 最高销售额 |
`MIN` | 求最小值 | `MIN(sales)` → 最低销售额 |
`COUNT` | 计数 | `COUNT()` → 表中记录数 |
`GROUP_CONCAT`(Oracle 12c+) | 将多行数据合并为一个字符串 | `GROUP_CONCAT(name)` → `'A,B,C'` |
六、其他常用函数
函数名 | 功能说明 | 示例 |
`DECODE` | 类似于条件判断 | `DECODE(gender, 'M', 'Male', 'F', 'Female', 'Unknown')` |
`CASE` | 条件判断语句 | `CASE WHEN score > 60 THEN 'Pass' ELSE 'Fail' END` |
`COALESCE` | 返回第一个非空表达式 | `COALESCE(NULL, 'default', 'another')` → `'default'` |
`NULLIF` | 如果两个表达式相等则返回NULL | `NULLIF('a', 'a')` → `NULL` |
总结
Oracle数据库中的函数种类繁多,功能强大,能够满足各种数据处理需求。掌握这些函数不仅有助于提高SQL查询效率,还能增强对数据库的理解和应用能力。建议根据实际业务场景选择合适的函数,灵活组合使用,以实现更复杂的数据处理逻辑。