加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

oracle常用函数详解(详细)

发布时间:2023-10-26 14:36:15 所属栏目:MsSql教程 来源:未知
导读: 1. 使用ORDER BY排序
(1) ORDER BY 子句的作用是什么?
ORDER BY 子句用于对结果集进行排序处理,提供了升序排序(ASC)与降序排序(DESC)如果不指定排序规则默认为升序排序。在排序中也可以使

1. 使用ORDER BY排序

(1) ORDER BY 子句的作用是什么?

ORDER BY 子句用于对结果集进行排序处理,提供了升序排序(ASC)与降序排序(DESC)如果不指定排序规则默认为升序排序。在排序中也可以使用没有包括在 SELECT 子句中的列排序。如果未使用 ORDER BY 子句,排序次序就未定义,并且 Oracle 服务器可能对于相同查询的两次执行取回行的顺序不同。

(2) 如何指定升序排序?

ORDER BY 需要排序列 ASC

默认升序,因此不写ASC也是升序排序

(3) 如何指定降序排序?

ORDER BY 需要排序列 desc

(4) 升序的规则是什么?

对于数字值,小的值在前面显示。例如,1–999。

对于日期,早的日期在前面显示。例如,01-1-92 在 01-1-95 前面 。

对于字符值,依字母顺序显示。例如,A 第一,Z 最后。

对于空值,升序排序时显示在最后,降序排序时显示在最前面

2. 函数介绍

(1) 什么是函数?

函数是数据库产品中提供的能够处理查询结果的方法。

函数能够用于下面的目的:

1.执行数据计算

2.修改单个数据项

3.格式化显示的日期和数字

4.转换列数据类型

5.函数有输入参数,并且总有一个返回值。

(2) 函数有哪些类型?

单行函数:

多行函数(聚合函数):。

(3) 单行函数的特点是?

单行函数仅对单个行进行运算,并且每行返回一个结果。

(4) 多行函数的特点是什么?

多行函数能够操纵成组的行,每个行组给出一个结果,也被称为组函数

3. 单行函数介绍

(1) 单行函数有什么特性?

1.作用于每一个返回行,每行返回一个结果

2.可能需要一个或多个参数

3.可以修改结果集的数据类型

4.可以嵌套

5.可能返回一个与参数不同类型的数据值

6.能够用在 SELECT、WHERE 和 ORDER BY 子句中

(2) Oracle中的单行函数分为几大类?每一类的作用是什么?

字符函数:接受字符输入,可以返回字符或者数字值

数字函数:接受数字输入,返回数字值

日期函数:对 DATE 数据类型的值进行运算 (除了 MONTHS_BETWEEN 函数返回一个数字,所有日期函数都返回一个 DATE 数据类型的值。)

转换函数:从一个数据类型到另一个数据类型转换一个值

通用函数:

? NVL

? NVL2 ? NULLIF ? COALSECE

? CASE

? DECODE

4. 大小写处理函数

(1) 在Oracle中能够处理字符大小的函数有哪些?

Lower:转换大小写混合的字符串为小写字符串

Upper:转换大小写混合的字符串为大写字符串

Initcap:将每个单词的首字母转换为大写,其他字母为小写

5. 字符处理函数

(1) Oracle中的DUAL表时什么表?作用是什么?

dual 是一张只有一个字段,一行记录的表。dual 表也称之为'伪表',因为不存储主题数据。如果不需要从具体的表来取得表中数据,而是单纯地为了得到一些想得到的信息,并要通过 select 完成时,就要借助 dual 表来满足结构化查询语言的格式。

(2) Oracle中能够处理字符的函数有哪些?

CONCAT、SUBSTR、LENGTH、INSTR、LPAD、RPAD、TRIM、REPLACE

(3) 每个字符函数的作用是什么?

CONCAT(arg1,arg2):连接值在一起 (CONCAT 函数有两个输入参数)

arg1:字符串类型。字符拼接的值。

arg2:字符串类型。字符拼接的值。

SUBSTR(arg1,arg2,arg3):截取子串。

arg1:字符串类型。原字符串,

arg2:整数类型。开始位置(开始位置可以是一个负数,-1 表示原串的最后一位,-2 则表示倒是第二位以此类推),

arg3:整数类型。截取个数。

SUBSTR(arg1,arg2):截取子串。

arg1:字符串类型。原字符串。

arg2 开始位置(开始位置可以是一个负数,-1 表示原串的最后一位,-2 则表示倒是第二位以此类推)截取到末尾。

LENGTH(arg1):以数字值显示一个字符串的长度。

arg1:字符串类型。计算长度的字符串。

INSTR(arg1,arg2):找到一个给定字符的数字位置。

arg1:字符串类型。原字符串。

arg2:字符串类型。查找内容。

INSTR(arg1,arg2,arg3,arg4):指定查找位置以及出现的次数。

arg1:字符串类型。原字符串。

arg2:字符串类型。查找内容。

arg3:整数类型。开始位置。

arg4:整数类型。第几次出现。

LPAD(arg1,arg2,arg3):用给定的字符左填充字符串到给定的长度。

arg1:字符串类型。原字符串。

arg2:整数类型。总长度。

arg3:字符串类型。填充的子字符串。

RPAD(arg1,arg2,arg3):用给定的字符右填充字符串到给定的长度。

arg1:字符串类型。原字符串。

arg2:整数类型。总长度。

arg3:字符串类型。填充的子字符串。

TRIM(arg1):从一个字符串中去除头(leading)或尾(trailing)或头尾两侧(both)的字符 (默认为头尾两侧) 如果 trim_character 或 trim_source 是一个文字字符,必须放在单引号中。

arg1 需要操作的字符串。FROM 为关键字。

格式 1:需要去掉的内容 FROM 原字符串

格式 2:leading|trailing|both 需要去掉的内容 FROM 原字符串。

REPLACE(arg1,arg2,arg3):REPLACE 函数是用另外一个值来替代串中的某个值。

arg1:字符串类型。原字符串。

arg2:字符串类型。需要替换的子串。

arg3:字符串类型。替换的内容。

6. 数字函数

(1) Oracle中能够处理数字的函数有哪些?

ROUND、TRUNC、MOD

(2) 每个处理数字的函数的作用是什么?

ROUND(arg1,arg2):四舍五入指定小数的值。

arg1:数字类型。原数字。

arg2:整数类型。小数点保留的位数Mssq类型转换函数,可以是一个负数。负数则表示指定整数的位置。

ROUND(arg1):四舍五入保留整数。相当于round(arg1,0)

arg1:数字类型。原数字。

TRUNC(arg1,arg2):截断指定小数的值,不做四舍五入处理。

arg1:数字类型。原数字。

arg2:整数类型。小数点保留的位数,可以使一个负数。负数则表示指定整数的位置。

TRUNC(arg1):四舍五入保留整数。相当于trunc(arg1,0)

arg1:数字类型。原数字。

MOD(arg1,arg2):取余。

arg1:数字类型。被除数。

arg2:数字类型。除数。

7. 日期的使用

(1) 在Oracle中如何获取系统当前时间?

Select sysdate from dual;

(2) 在Oracle中做日期计算有哪些特点?

从日期加或者减一个数,结果是一个日期值

两个日期相减,得到两个日期之间的天数

用小时数除以 24,可以加小时到日期上

8. 日期函数

(1) 在Oracle中能够处理日期的函数有哪些?

MONTHS_BETWEEN(date1,date2):计算 date1 和 date2 之间的月数。其结果可以是正的也可以是负的。如果 date1 大于 date2,结果是正的。反之,结果是负的。

date1:日期类型。

date2:日期类型。

ADD_MONTHS(date, n):添加 n 个日历月到 date。n 的值必须是整数,但可以是负的。

date:日期类型。

n:整数

NEXT_DAY(date, ‘char’):计算在 date 之后的下一个周(‘char’)的指定天的日期。char 的值可能是一个表示一天的数或者是一个字符串。如果使用数字表示星期,1 是从星期日开始。数字范围为:1-7。

date:日期类型。

char:数字或字符串。

LAST_DAY(date):计算包含 date 的月的最后一天的日期。

date:日期类型。

ROUND(date,‘fmt’):返回用格式化模式 fmt 四舍五入到指定单位的 date ,如果格式模式 fmt 被忽略,date 被四舍五入到最近的天。

Round(date)相当于round(date,’dd’)

date:日期类型。

fmt:字符串类型。

TRUNC(date, ‘fmt’):返回用格式化模式 fmt 截断到指定单位的带天的。如果格式模式fmt 被忽略,date 被截断到最近的天。

Trunc(date) 相当于 trunc(date,’dd’)

date:日期类型。

fmt:字符串类型。

9. 隐式数据类型转换

(1) 在Oracle中什么是隐式数据类型转换?

当源数据的类型和目标数据的类型不同的时候,如果没有转换函数,就会发生隐式转换,也称自动转换。

(2) 哪些数据类型支持隐式类型转换?

Char varchar2 date number

(3) 隐式数据类型转换有哪些问题?

性能影响:

隐式转换的最大问题就是转换时会导致索引的无效,进而可能导致全表扫描。当表的数据量很大的时候,产生会很大的性能问题。比如说,VARCHAR2 和 NVARCHAR2 隐式数据类型转换导致的性能问题。

不便于阅读:

由于隐式转换使得数据库编程人员和 DBA 难以了解到究竟发生了怎样的类型转换,而且如果代码很多很长的话要查出错误就需要费很大的劲。

(4) 什么是显示数据类型转换?

通过数据库中的转换函数完成数据类型的转换。

10. 日期到字符的转换

(1) Oracle中提供了哪些转换函数?

TO_CHAR、TO_NUMBER、TO_DATE

(2) 每个转换函数的作用是什么?

TO_CHAR(arg1,’fmt’):将一个日期或者数字转换为字符类型。

arg1:数字或者日期类型。需要转换的数据。

fmt:转换格式。

TO_NUMBER(‘arg1’,fmt’):将字符串转换为数值型的格式。

arg1:字符串类型。需要转换的数据。

fmt:转换格式。

TO_DATE(‘arg1’,’fmt’):将字符串转换为日期格式.

arg1:字符串类型。需要转换的数据。

fmt:转换格式。

(3) 在Oracle中将日期转换成字符使用什么函数完成?

TO_CHAR

(4) 日期格式的模板元素有哪些?

YYYY、year、MM、month、MON、DY、DAY、DD

11. 数字到字符的转换

(1) 在Oracle中讲数字转换为字符的函数是什么?

TO_CHAR

(2) 数字格式模板有哪些?

9、0、$、L、.、,

12. 字符到数字的转换

(1) 在Oracle中将字符转换为数字的函数是什么?

TO_NUMBER

(2) 将¥34,346.56转换为数字类型。

select to_number('¥34,346.56','L999,999.99') from dual;

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章