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之后会停更一段时间,从这篇文章开始本人会开始降低更新频率直到本人了解了新的编程知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值