oracle常用函数详解(详细)
(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; (编辑:阜新站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |