当前位置: 首页 > news >正文

Oracle — 内置函数

介绍

     Oracle内置函数是数据库中预定义的编程工具,用于简化数据处理与计算逻辑。这些函数分为单行函数和聚合函数两大类。单行函数针对每条数据独立运算,例如LOWER函数转换文本为小写,ROUND实现数值四舍五入,TO_CHAR格式化日期输出,NVL处理空值替换。聚合函数则对多行数据进行统计,如SUM求和、AVG取平均值、COUNT计数,配合GROUP BY分组时还可使用ROLLUP生成层级汇总,CUBE实现多维交叉统计。高级功能涵盖分析函数、正则表达式函数,满足现代半结构化数据处理需求。开发人员通过灵活组合这些函数,可显著提升SQL语句执行效率,优化复杂业务逻辑实现,广泛应用于数据清洗、动态报表生成及实时分析等场景,是Oracle数据库高效运作的重要支撑。


单行函数

Oracle单行函数对单行数据进行处理,返回单个结果,支持字符串(如UPPER)、数值(ROUND)、日期(SYSDATE)和转换(TO_CHAR)等操作,可嵌套使用,常用于数据格式化、计算及类型转换。

字符串函数

  1. UPPER(string): 将字符串转换为大写
  2. LOWER(string): 将字符串转换为小写
  3. INITCAP(string): 将每个单词的首字母大写
  4. CONCAT(str1, str2): 连接两个字符串
  5. SUBSTR(string, start, length): 提取子字符串
  6. LENGTH(string): 返回字符串长度
  7. INSTR(string, substring): 返回子字符串位置
  8. LPAD(string, length, pad_string): 左填充字符串
  9. RPAD(string, length, pad_string): 右填充字符串
  10. TRIM([LEADING|TRAILING|BOTH] trim_character FROM string): 去除首尾字符
  11. REPLACE(string, search_str, replace_str): 替换字符串

数值函数

  1. ROUND(number, decimal_places): 四舍五入
  2. TRUNC(number, decimal_places): 截断数字
  3. MOD(number, divisor): 取模运算
  4. CEIL(number): 向上取整
  5. FLOOR(number): 向下取整
  6. ABS(number): 绝对值
  7. SIGN(number): 返回数字的符号
  8. POWER(number, exponent): 幂运算
  9. SQRT(number): 平方根

日期函数

  1. SYSDATE: 返回当前系统日期和时间
  2. CURRENT_DATE: 返回当前日期
  3. ADD_MONTHS(date, months): 添加月份
  4. MONTHS_BETWEEN(date1, date2): 计算月份差
  5. LAST_DAY(date): 返回月份的最后一天
  6. NEXT_DAY(date, day_of_week): 返回下一个指定星期几的日期
  7. ROUND(date, format): 日期四舍五入
  8. TRUNC(date, format): 日期截断
  9. EXTRACT(component FROM date): 提取日期部分(年、月、日等)

转换函数

  1. TO_CHAR(number|date, format): 转换为字符串
  2. TO_NUMBER(string, format): 转换为数字
  3. TO_DATE(string, format): 转换为日期
  4. CAST(expression AS type): 类型转换

通用函数

  1. NVL(expr1, expr2): 如果expr1为NULL则返回expr2
  2. NVL2(expr1, expr2, expr3): 如果expr1不为NULL返回expr2,否则返回expr3
  3. NULLIF(expr1, expr2): 两表达式相等则返回NULL,否则返回expr1
  4. COALESCE(expr1, expr2, ..., exprn): 返回第一个非NULL表达式
  5. DECODE(expr, search1, result1, search2, result2, ..., default): 条件判断
  6. CASE WHEN condition THEN result ... [ELSE else_result] END: 条件表达式

聚合函数

  1. AVG(column): 平均值
  2. COUNT(*)/COUNT(column): 计数
  3. MAX(column): 最大值
  4. MIN(column): 最小值
  5. SUM(column): 求和
  6. STDDEV(column): 标准差
  7. VARIANCE(column): 方差
  8. LISTAGG(column, delimiter): 将多行连接成单个字符串
  9. FIRST(column): 返回有序集合中的第一个值
  10. LAST(column): 返回有序集合中的最后一个值

其他常用函数

  1. USER: 返回当前用户名
  2. UID: 返回当前用户的数字ID
  3. USERENV(parameter): 返回当前会话信息
  4. VSIZE(expression): 返回表达式的内部表示大小(字节)
  5. GREATEST(expr1, expr2, ...): 返回参数列表中的最大值
  6. LEAST(expr1, expr2, ...): 返回参数列表中的最小值

总结

     Oracle内置函数是数据库操作中用于数据处理和计算的核心工具,涵盖字符串、数值、日期、转换及分析功能。单行函数针对每条数据独立运算,例如字符串函数SUBSTR截取子串,CONCAT连接文本,LENGTH获取长度;数值函数如ROUND四舍五入、MOD取余数;日期函数SYSDATE获取当前时间,ADD_MONTHS增减月份。通用函数NVL和COALESCE处理空值,DECODE实现简单条件逻辑。聚合函数对数据集整体统计,如SUM求和、AVG取均值、COUNT计数,结合GROUP BY分组汇总数据。分析函数支持复杂查询场景。转换函数确保数据类型兼容,TO_CHAR格式化日期或数值,TO_NUMBER和TO_DATE实现显式转换,CAST跨类型转换数据。此外,条件函数CASE支持多分支逻辑,正则函数REGEXP_LIKE增强模式匹配能力。合理使用内置函数可提升SQL效率,但需注意不同函数的性能影响及NULL值处理规则,结合业务场景选择最佳方案。

声明:因本人还只是个学生,现在暂时还没学习新的知识,所以写完Oracle之后会停更一段时间,从这篇文章开始本人会开始降低更新频率直到本人了解了新的编程知识

相关文章:

  • 数据库事务以及JDBC实现事务
  • sql的性能分析
  • 嵌入式硬件篇---CAN
  • 嵌入式硬件篇---UART
  • 5java集合框架
  • 虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框
  • Level1.5算数运算符与赋值运算符
  • 时钟晶振锁相环pll方向技术要点和大厂题目解析
  • nvme Unable to change power state from D3cold to D0, device inaccessible
  • DS18B20温度传感器
  • [思维模式-25]:《本质思考力》-6- 马克思主义哲学的五对基本哲学范畴,以及在计算机领域的体现
  • Linux系统之----模拟实现shell
  • 技嘉主板BIOS升级
  • 单片机-STM32部分:10-2、逻辑分析仪
  • Android开发-Activity启停
  • JAVA练习题(2) 找素数
  • 【Bootstrap V4系列】学习入门教程之 组件-输入组(Input group)
  • (2025)图文解锁RAG从原理到代码实操,代码保证可运行
  • 【基于 LangChain 的异步天气查询2】GeoNames实现地区实时气温查询
  • 棒球裁判员学习指南·棒球1号位
  • 著名连环画家庞邦本逝世
  • 小米SU7 Ultra风波升级:数百名车主要求退车,车主喊话雷军“保持真诚”
  • 工人日报:“鼠标手”被纳入职业病,劳动保障网越织越密
  • 法治日报:炮制师生日常剧本,校园怎么成了短视频流量秀场?
  • 姚洋将全职加盟上海财经大学,担任滴水湖高级金融学院院长
  • 经济日报刊文:品牌经营不能让情怀唱“独角戏”