oracle常用函数查询(Oracle函数速查)
作者:路由通
|

发布时间:2025-05-03 08:04:16
标签:
Oracle作为业界领先的关系型数据库管理系统,其内置函数体系在数据查询与处理中发挥着核心作用。通过丰富的函数库,开发者能够高效完成数据转换、计算、匹配等复杂操作,显著提升SQL语句的灵活性和可维护性。本文从八个维度系统梳理Oracle常用

Oracle作为业界领先的关系型数据库管理系统,其内置函数体系在数据查询与处理中发挥着核心作用。通过丰富的函数库,开发者能够高效完成数据转换、计算、匹配等复杂操作,显著提升SQL语句的灵活性和可维护性。本文从八个维度系统梳理Oracle常用函数,结合多平台实践场景,重点解析函数功能、语法结构及典型应用,并通过深度对比表格揭示同类函数的差异。以下内容将涵盖字符串处理、数值运算、日期操作等核心领域,为数据库开发与优化提供实用参考。
一、字符串处理函数
字符串函数用于文本数据截取、定位、替换等操作,是数据清洗与格式化的利器。
函数类别 | 典型函数 | 功能描述 | 示例 |
---|---|---|---|
截取类 | SUBSTR(str, start, [length]) | 从指定位置截取子串 | SELECT SUBSTR('OracleDB', 3, 4) → 'acl' |
定位类 | INSTR(str, substr, [start], [nth]) | 返回子串首次出现位置 | SELECT INSTR('abcabc', 'b', 2) → 3 |
替换类 | REPLACE(str, search, replacement) | 全局替换指定字符 | SELECT REPLACE('ABC', '', '-') → 'A-B-C' |
二、数值处理函数
数值函数支持精度控制、取模运算及条件判断,适用于财务计算与数据校验场景。
函数类型 | 代表函数 | 核心功能 | 特性对比 |
---|---|---|---|
四舍五入 | ROUND(num, integer) | 按位数四舍五入 | ROUND(123.456, 2) = 123.46 |
截断处理 | TRUNC(num, integer) | 直接截断小数位 | TRUNC(123.999, 1) = 123.9 |
取模运算 | MOD(num1, num2) | 返回除法余数 | MOD(10, 3) = 1 |
三、日期时间函数
日期函数实现时间戳提取、区间计算及格式转换,需注意时区与NLS参数设置。
- 当前日期:SYSDATE返回服务器端时间,CURRENT_DATE受会话时区影响
- 时间运算:ADD_MONTHS(date, n)增加月份,MONTHS_BETWEEN(d1,d2)计算月差
- 格式转换:TO_DATE('2023-01-01','YYYY-MM-DD')将字符串转为日期
函数组 | 函数名 | 用途 | 示例 |
---|---|---|---|
提取类 | EXTRACT(field FROM date) | 获取年/月/日等字段 | EXTRACT(YEAR FROM SYSDATE) → 2023 |
计算类 | LAST_DAY(date) | 返回所在月最后一天 | LAST_DAY(TO_DATE('2023-02-15')) → 2023-02-28 |
四、类型转换函数
隐式转换易引发性能问题,显式转换函数保障数据准确性与执行效率。
- 字符转数字:TO_NUMBER('123.45')处理带格式字符串
- 数字转字符:TO_CHAR(12345,'99999')补零格式化
- 日期转字符:TO_CHAR(SYSDATE,'YYYY/MM/DD')自定义格式
转换方向 | 关键函数 | 典型场景 | 注意事项 |
---|---|---|---|
字符→日期 | TO_DATE | 标准化日期输入 | 需明确格式掩码 |
日期→字符 | TO_CHAR | 报表格式化输出 | 依赖NLS_DATE_FORMAT |
五、聚合函数与分组函数
聚合函数配合GROUP BY实现数据统计,NVL与COALESCE处理空值逻辑。
- 基础聚合:SUM/AVG/MAX/MIN需搭配GROUP BY使用
-
函数类型 | 函数名 | 适用场景 | 性能特征 |
---|---|---|---|
求和类 | SUM(numeric) | 数值字段累加 | 支持DISTINCT去重 |
| | |