Oracle 11G常用函数有哪些需要掌握

来源:安卓APP网作者:新加坡程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《Oracle 11G常用函数有哪些需要掌握》,敬请观看详情。Oracle 11G作为经典的关系型数据库版本,内置了大量实用的函数,能帮助开发者简化SQL编写逻辑,提升数据处理效率。很多刚接触Oracle数据库的用户不清楚哪些函数是日常开发必须掌握的,也不了解不同函数的适用场景和使用方法。本文整理了Oracle 11G中常用的字符函数、数值函数、日期函数、转换函数和聚合函数,结合具体使用示例讲解每个函数的作用和参数规则,让读者能够快速理解并应用到实际的数据库查询和PL_SQL开发中,解决实际数据处理过程中的常见问题。

Oracle 11G提供了丰富的内置函数,覆盖字符处理、数值计算、日期操作、类型转换、数据聚合等多个场景,熟练使用这些函数可以减少自定义逻辑的开发量,提升SQL语句的执行效率。下面分类整理常用的函数及使用方法。

Oracle 11G常用函数有哪些需要掌握

一、字符函数

字符函数主要用于处理字符串类型的数据,常用的有以下几种:

  • CONCAT:拼接两个字符串,作用和||操作符一致
  • SUBSTR:截取字符串的指定部分
  • UPPER/LOWER:将字符串转为全大写/全小写
  • LENGTH:返回字符串的长度
  • TRIM:去除字符串首尾的指定字符,默认去除空格

以下是字符函数的使用示例:

-- 拼接字符串
SELECT CONCAT('Hello', ' Oracle') FROM DUAL; -- 返回 Hello Oracle
-- 截取字符串,从第1位开始取3个字符
SELECT SUBSTR('Oracle 11G', 1, 3) FROM DUAL; -- 返回 Ora
-- 转为大写
SELECT UPPER('hello') FROM DUAL; -- 返回 HELLO
-- 获取字符串长度
SELECT LENGTH('Oracle') FROM DUAL; -- 返回 6
-- 去除首尾空格
SELECT TRIM('  test  ') FROM DUAL; -- 返回 test

二、数值函数

数值函数用于处理数值类型的数据,常见的函数如下:

  • ROUND:对数值进行四舍五入
  • TRUNC:截断数值,不进行四舍五入
  • MOD:返回两个数相除的余数
  • ABS:返回数值的绝对值
  • CEIL/FLOOR:向上取整/向下取整

数值函数使用示例:

-- 四舍五入,保留2位小数
SELECT ROUND(123.4567, 2) FROM DUAL; -- 返回 123.46
-- 截断数值,保留1位小数
SELECT TRUNC(123.4567, 1) FROM DUAL; -- 返回 123.4
-- 取余数
SELECT MOD(10, 3) FROM DUAL; -- 返回 1
-- 绝对值
SELECT ABS(-123) FROM DUAL; -- 返回 123
-- 向上取整
SELECT CEIL(123.1) FROM DUAL; -- 返回 124
-- 向下取整
SELECT FLOOR(123.9) FROM DUAL; -- 返回 123

三、日期函数

日期函数用于处理DATE和TIMESTAMP类型的数据,Oracle 11G中常用的日期函数包括:

  • SYSDATE:返回当前数据库服务器的日期和时间
  • ADD_MONTHS:给日期加上指定的月数
  • MONTHS_BETWEEN:返回两个日期之间相差的月数
  • EXTRACT:从日期中提取指定的部分(年、月、日等)
  • TO_DATE:将字符串转为日期类型,属于转换函数,常和日期操作配合使用

日期函数使用示例:

-- 获取当前日期
SELECT SYSDATE FROM DUAL;
-- 当前日期加3个月
SELECT ADD_MONTHS(SYSDATE, 3) FROM DUAL;
-- 计算两个日期相差的月数
SELECT MONTHS_BETWEEN(TO_DATE('2024-05-01', 'YYYY-MM-DD'), TO_DATE('2024-02-01', 'YYYY-MM-DD')) FROM DUAL; -- 返回 3
-- 提取当前日期的年份
SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;
-- 字符串转日期
SELECT TO_DATE('2024-03-15', 'YYYY-MM-DD') FROM DUAL;

四、聚合函数

聚合函数用于对一组数据进行统计计算,通常和GROUP BY子句配合使用:

  • COUNT:统计行数
  • SUM:计算数值列的总和
  • AVG:计算数值列的平均值
  • MAX/MIN:返回列的最大值/最小值

假设存在员工表emp,包含sal(工资)、deptno(部门编号)字段,聚合函数使用示例:

-- 统计员工总数
SELECT COUNT(*) FROM emp;
-- 统计每个部门的员工数量
SELECT deptno, COUNT(*) FROM emp GROUP BY deptno;
-- 计算每个部门的平均工资
SELECT deptno, AVG(sal) FROM emp GROUP BY deptno;
-- 查询全公司的最高工资
SELECT MAX(sal) FROM emp;

五、使用注意事项

在使用Oracle 11G函数时需要注意以下几点:

  • 函数的参数类型需要和函数要求匹配,否则会报类型转换错误
  • 对NULL值的处理:大部分聚合函数会忽略NULL值,除了COUNT(*)会统计所有行
  • 日期函数的参数如果是字符串,需要保证格式和数据库默认的日期格式一致,或者使用TO_DATE显式转换
  • 字符函数的索引从1开始,和很多编程语言从0开始不同,使用时需要注意

掌握以上这些常用函数,基本可以覆盖大部分日常Oracle 11G的开发和查询场景,遇到更复杂的处理需求时,也可以结合多个函数嵌套使用实现对应逻辑。

Oracle_11GSQL函数数据库查询PL_SQL函数用法修改时间:2026-06-06 22:20:29

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。