Oracle12c中文版数据库管理、应用与开发实践教程内置函数

来源:互联网 由 文泉书局 贡献 责任编辑:王小亮  
第8章 内 置 函 数

在SQL乃至SQL编程中,经常会使用到关系型数据库提供的函数来完成用户需要的功能。针对不同的关系型数据库系统,它们所提供的函数都不尽相同,本章对Oracle 中的一些常用函数进行介绍,如字符函数、数字函数和日期函数等。在本章中除了介绍常用的内置函数外,还会向读者介绍如何自定义函数,以及如何使用和删除自定义的函数。

本章学习要点:

“了解内置函数的分类

“掌握常用的字符函数

“掌握常用的数字函数

“熟悉常用的日期函数

“了解常用的通用函数

“掌握常用的聚合函数

“掌握函数的定义和使用

“掌握函数的删除和源代码查看

函数是最受开发者欢迎的一种程序设计技术,它可以接收零个或多个输入参数,并返回一个输出参数。在Oracle数据库中可以使用两种主要类型的函数:单行函数和多行函数。

单行函数也称标量函数,对于从表中查询的每一行,该函数都返回一个值。单行函数可以出现在SELECT子句中,也可以出现在WHERE子句中。单行函数的特点如下。

(1)能够操纵数据项。

(2)接收多个参数并返回一个值。

(3)接收多个参数,参数可以是一个列或者一个表达式。

(4)作用于每一个返回行。

(5)每一行返回一个结果。

(6)可以嵌套,也可以修改数据类型。

根据单行函数的作用,Oracle数据库又将单行函数分为5种,如表8-1所示。

表8-1 单行函数的分类函数分类 字符函数 数字函数 日期函数 转换函数 8.2 字符函数接收字符参数,这些字符可以来自于一个表中的列或者任意表达式。字符函数会按照某种方式处理输入参数,并返回一个结果。本节简单介绍Oracle 数据库中常用的字符函数。

UPPER()函数将指定的字符串转换成大写;LOWER()函数将指定的字符串转换成小写;INITCAP()函数把每个字符串的首字符转换成大写。

【范例1】

将字符串“i lOVe you ”分别转换为全部大写、全部小写和首字符大写。语句和输出结果代码如下。

SELECT UPPER('i lOVe you') 大写,LOWER('i lOVe you') 小写,INITCAP('i lOVe you') 首字符大写 FROM dual;

大写 小写 首字符大写

------------ ---------------- -----------------

I LOVE YOU i love you I Love You

上述代码中的dual 表是系统的一张虚表(伪表)。Oracle 中所有的查询都必须符合标准的SQL 语句,因此在FROM 子句后必须有一张表的名称。可是“i lOVe you ”只是一个普通的字符串,并不属于任何表,因此Oracle 提供虚表来解决这个问题。

UPPER()、LOWER()或INITCAP()函数中不仅可以跟普通的字符串,也可以跟列,如范例2。

【范例3】

将字符串“Hello World”中的字母“l”进行替换。执行语句和输出结果如下。

SELECT REPLACE('Hello World','l') 替换1,REPLACE('Hello World','l','5') 替换2 FROM dual;

替换1 替换2

------------- ----------

Heo Word He55o Wor5d

REGEXP_REPLACE()函数也是字符串替换函数,它相当于增强的REPLACE()函数。基本语法如下:

REGEXP_REPLACE(source_string,pattern[,replace_string

[,position[,occurrence[,match_parameter

]]]])

其中,source_string指定源字符串;pattern指定正则表达式;replace_string指定用于替换的字符串;position指定起始搜索位置;occurrence指定替换出现的第n个字符串; match_parameter指定默认匹配操作的文本字符串。当match_parameter参数的取值为i 时表示大小写不敏感;取值为c时表示大小写敏感,这是默认取值;取值为n时表示不匹配换行符号;取值为m表示多行模式;取值为x表示扩展模式,忽略正则表达式中的空白字符。

【范例4】

下面使用REGEXP_REPLACE()函数替换x后面带数字的字符串为Love,并且一个

区分大小写,一个不区分大小写。代码如下。

以下内容为系统自动转化的文字版,可能排版等有问题,仅供您参考:

第8章 内 置 函 数 在 SQL 乃至 SQL 编程中,经常会使用到关系型数据库提供的函数来完成用户需要 的功能。

针对不同的关系型数据库系统,它们所提供的函数都不尽相同,本章对 Oracle 中的一些常用函数进行介绍,如字符函数、数字函数和日期函数等。

在本章中除了介绍 常用的内置函数外,还会向读者介绍如何自定义函数,以及如何使用和删除自定义的 函数。

本章学习要点: “ “ “ “ “ “ “ “ 了解内置函数的分类 掌握常用的字符函数 掌握常用的数字函数 熟悉常用的日期函数 了解常用的通用函数 掌握常用的聚合函数 掌握函数的定义和使用 掌握函数的删除和源代码查看 8.1 内置函数概述 函数是最受开发者欢迎的一种程序设计技术,它可以接收零个或多个输入参数,并 返回一个输出参数。

在 Oracle 数据库中可以使用两种主要类型的函数:单行函数和多行 函数。

8.1.1 单行函数 单行函数也称标量函数,对于从表中查询的每一行,该函数都返回一个值。

单行函 数可以出现在 SELECT 子句中,也可以出现在 WHERE 子句中。

单行函数的特点如下。

(1)能够操纵数据项。

(2)接收多个参数并返回一个值。

(3)接收多个参数,参数可以是一个列或者一个表达式。

(4)作用于每一个返回行。

(5)每一行返回一个结果。

(6)可以嵌套,也可以修改数据类型。

根据单行函数的作用,Oracle 数据库又将单行函数分为 5 种,如表 8-1 所示。

内置函数 表 8-1 第 8 章 单行函数的分类 说明 接收数据返回具体的字符信息 对数字进行处理(如四舍五入) 直接对日期和时间进行处理 日期、字符和数字之间可以完成相互转换的功能 Oracle 自己提供的特色函数 函数分类 字符函数 数字函数 日期函数 转换函数 通用函数 8.1.2 多行函数 和单行函数相比,Oracle 提供了丰富的基于组的多行函数。

多行函数又被称为组函 数,它接收多个输入,返回一个输出。

多行函数主要针对表进行操作,因为只有表中才 有多行数据。

多行函数通常在 SELECT 或 SELECT 的 HAVING 子句中使用,当用于 SELECT 子串时常常和 GROUP BY 一起使用。

8.2 字符函数 181 字符函数接收字符参数,这些字符可以来自于一个表中的列或者任意表达式。

字符 函数会按照某种方式处理输入参数,并返回一个结果。

本节简单介绍 Oracle 数据库中常 用的字符函数。

8.2.1 大小写转换函数 UPPER()函数将指定的字符串转换成大写;LOWER()函数将指定的字符串转换成小 写;INITCAP()函数把每个字符串的首字符转换成大写。

【范例 1】 将字符串“i lOVe you”分别转换为全部大写、全部小写和首字符大写。

语句和输出 结果代码如下。

SELECT UPPER('i lOVe you') 大写,LOWER('i lOVe you') 小写,INITCAP('i lOVe you') 首字符大写 FROM dual; 大写 小写 首字符大写 ------------ ---------------- ----------------I LOVE YOU i love you I Love You 上述代码中的 dual 表是系统的一张虚表(伪表) 。

Oracle 中所有的查询都必须符合 标准的 SQL 语句,因此在 FROM 子句后必须有一张表的名称。

可是“i lOVe you”只是 一个普通的字符串,并不属于任何表,因此 O


  • 与《Oracle12c中文版数据库管理、应用与开发实践教程内置函数》相关:
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • Oracle12c中文版数据库管理、应用与开发实践
  • 本站网站首页首页教育资格全部考试考试首页首页考试首页职业资格考试最近更新儿童教育综合综合文库22文库2建筑专业资料考试首页范文大全公务员考试首页英语首页首页教案模拟考考试pclist学路首页日记语文古诗赏析教育教育资讯1高考资讯教育头条幼教育儿知识库教育职场育儿留学教育高考公务员考研考试教育资讯1问答教育索引资讯综合学习网站地图学习考试学习方法首页14托福知道备考心经冲刺宝典机经真题名师点睛托福课程雅思GREGMATSAT留学首页首页作文
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.xue63.com All Rights Reserved