Oracle中常用的函数与表达式

上传人:平*** 文档编号:47555884 上传时间:2018-07-02 格式:PPT 页数:70 大小:225.65KB
返回 下载 相关 举报
Oracle中常用的函数与表达式_第1页
第1页 / 共70页
Oracle中常用的函数与表达式_第2页
第2页 / 共70页
Oracle中常用的函数与表达式_第3页
第3页 / 共70页
Oracle中常用的函数与表达式_第4页
第4页 / 共70页
Oracle中常用的函数与表达式_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《Oracle中常用的函数与表达式》由会员分享,可在线阅读,更多相关《Oracle中常用的函数与表达式(70页珍藏版)》请在金锄头文库上搜索。

1、第14章 Oracle中的函数与表达式Oracle中提供了大量的内置函数,以处处理各种形式的 运算。这这些函数涵盖了字符串运算、数值值运算、日期运算等 方面。同样样,Oracle允许许使用数值值运算、逻辑逻辑 运算等基本 的表达式运算,另外,提供了SQL标标准所规规定的特殊判式。lOracle中的字符串函数;lOracle中的数学函数;lOracle中的日期函数;第14章 Oracle中的函数与表达式lOracle中的聚合函数;lOracle中的运算表达式;lOracle中的特殊判式;lOracle中的高级级函数分析函数与窗口函数。14.1 Oracle中的字符串函数Oracle提供了丰富的字

2、符串函数,本小节节将通过实过实 例 讲讲述Oracle中各字符串函数的使用。14.1.1 lpad()函数lpad()函数用于左补补全字符串。在某些情况下,预预期的 字符串为为固定长长度,而且格式统统一,此时时可以考虑虑使用 lpad()函数。例如,深市股票代码码都以0开头头,并且都为为6位 ,可以利用lpad格式化股票代码码,以保证证股票代码码的格式 。select lpad(21,6,0) stock_code from dual;需要注意的是,当原字符串的长度大于预期长度时,实 际进行的是截取字符串操作。select lpad(1234567,6,0) stock_code from d

3、ual;14.1.2 rpad()函数与lpad()函数相反,rpad()函数从右端补齐补齐 字符串。select rpad(abc, 10, *) from dual; 注意与说说明:lpad()和rpad()都用于填充字符串, lpad()从左端进进行填充,而rpad()从右端进进行填充,但是, 二者在最终终截取字符串时时,都是从左端开始截取。select rpad(abcdefg, 6, *) from dual;14.1.3 lower()函数返回小写字符串lower()函数用于返回字符串的小写形式。lower()函数 在查询语查询语 句中经经常扮演重要角色。例如,对对于用户户名和密

4、码码的校验验来说说,用户户名一般并不区分大小写,用户户无论输论输 入了大写还还是小写形式,都被认为认为 是合法用户户。因此,在 数据库查询时库查询时 ,应该应该 将数据库库中用户户名与用户输户输 入的用户户 名进进行统统一。select user_id, user_name from t_users where lower(user_name) = lower(Alex);14.1.4 upper()函数返回大写字符串upper()函数用于返回字符串的大写形式。与lower()函 数类类似,upper()函数也可以用在查询语查询语 句中,以统统一数据 库库和查询查询 条件的一致性。select

5、 user_id, user_name from t_users where upper(user_name) = upper(ALEX);注意与说说明:upper()函数和lower()函数只针对针对 英文字 符其作用,因为为只有英文字符才有大小写之分。14.1.5 initcap ()函数单词首字母大写initcap()函数将单词单词 的首字母大写。select initcap(big) from dual;需要注意的是,initcap()函数不能自动识别单词 select initcap(bigbigtiger) from dual;initcap()函数会将参数中的非单词字符作为单词分

6、隔符select initcap(big_big_tiger) from dual; select initcap(big/big/tiger) from dual; select initcap(big big tiger) from dual; 14.1.6 length()函数返回字符串长度length()函数用于返回字符串的长长度。select length(abcd ) from dual;空字符串的长长度不是0,而是null。因为为空字符串被视视 作null,所以,length(null)返回的仍然是null。select length() from dual;对对其其他数据类类型

7、,照样样可以通过过length()函数来获获 得其长长度。length()函数会首先将参数转换为转换为 字符串,然后 计计算其长长度。select length(12.51) from dual;14.1.7 substr()函数截取字符串substr()函数用于截取字符串。该该函数可以指定截取的 起始位置,截取长长度,可以实现实现 灵活的截取操作,因此, 成为为字符串操作中最常用的函数之一。例如,对对于字符串“1234567890”,现现欲截取自第5位 开始的4个字符。select substr(1234567890, 5, 4) from dual;需要注意的是,Oracle中字符位置从1

8、开始,而不是像 某些编程语言(如Java)那样从0开始。 如果不指定长度,那么substr()函数将获取起始位置参 数至字符串结尾处的所有字符。 select substr(1234567890, 5) from dual; 14.1.8 instr()函数获得字符串出现的位 置instr()函数用于获获得子字符串在父字符串中出现现的位置 。select instr(big big tiger, big) from dual;可以指定额额外的参数,以命令该该函数从指定位置开始 搜索。select instr(big big tiger, big, 2) from dual; 还还可以指定出现现

9、次数参数,以指定是第几次搜索到子 字符串。select instr(big big tiger, big, 2, 2) from dual;14.1.9 ltrim()函数删除字符串首部空格ltrim()中的l代表left。该该函数用于删删除字符串左端的空 白符。select ltrim( abc) from dual; 需要注意的是,空白符不仅仅仅仅 包括了空格符,还还包括 TAB键键、回车车符和换换行符。14.1.10 rtrim()函数删除字符串尾部空 格rtrim()中的r代表right。该该函数用于删删除字符串右端空 白符。删删除字符串首尾空白符可以结结合使用ltrm()和rtrim

10、() 函数。select rtrim(ltrim( abc ) from dual;14.1.11 trim()函数删除字符串首尾空格trim()函数可用于删删除首尾空格,相当于ltrim()和 rtrim()的组组合。select trim( abc ) from dual;14.1.12 to_char()函数将其他类型转换 为字符类型to_char()函数用于将其他数据类类型的数据转换为转换为 字符 型,这这些类类型主要包括数值值型、日期型。1. 将数值值型转换为转换为 字符串select to_char(120, 99999) result from dual; select to_c

11、har(0.96, 9.99) result from dual; select to_char(0.96, 0.00) result from dual; select to_char(5897.098, 999,999,999.000) result from dual; select to_char(5987.098, $999,999,999.000) result from dual;2. 将日期型转换为转换为 字符串select to_char(sysdate, yyyy-mm-dd) result from dual; select to_char(sysdate, YYYY-M

12、ON-DD) from dual; 14.1.13 chr()函数将ascii码转换为字符 串chr()函数用于将ascii码转换为码转换为 字符串。通过过chr()函 数,可以对对不宜直接输输入的字符进进行操作。例如,将回车车 换换行符插入到数据中。insert into test_data values (6, 周林 |chr(13)|chr(10)|梁军, 20); select * from test_data where id = 6; 14.1.14 translate()函数替换字符translate()函数用于替换换字符串。替换换的规则类规则类 似于 翻译译的过过程。selec

13、t translate(56338, 1234567890, avlihemoqr) result from dual;需要注意的是,当字符不能被成功“翻译译”,那么, Oracle将使用空字符替换换它。利用此特性,可以使用 translate()函数来删删除一个含有数字和英文字母的字符串中 的所有字母:select translate(21343yuioioizf899dasiwpe58595oda0j098, #abcdefghijklmnopqrstuvwxyz, ) reulstfrom dual; 14.2 Oracle中的数学函数Oracle提供的数学函数可以处处理日常使用到的大多

14、数 数学运算。本小节节将讲讲述Oracle中常用的几种数学函数。14.2.1 abs ()函数返回数字的绝对值abs()函数的参数只能是数值值型,该该参数用于返回参数 的绝对值绝对值 。select abs(-2.1) from dual; 14.2.2 round ()函数返回数字的“四舍五 入”值round()函数用于返回某个数字的四舍五入值值。为为了使 用该该函数,除了提供原始值值之外,还应还应 提供精确到的位数 。精确位数可以为为正整数、0和负负整数。select round(2745.173, 2) result from dual; 如果不使用第二个参数,那么,相当于使用了参数0,

15、 即精确到整数。select round(2745.173) result from dual; 如果第二个参数为负数,那么,相当于将数值精确到小 数点之前的位数。 select round(2745, -1) result from dual; 14.2.3 ceil()函数向上取整ceil()函数只能有一个参数。该该函数将参数向上取整, 以获获得大于等于该该参数的最小整数。select ceil(21.897) result from dual; 需要注意的是该函数针对负数的运算: select ceil(-21.897) result from dual; 因为为ceil()函数返回的是

16、大于等于参数的最小整数,所 以,该该函数返回的并非-22,而是-21。14.2.4 floor()函数向下取整与ceil函数相反,floor()函数用于返回小于等于某个数 值值的最大整数。select floor(21.897) result from dual; select floor(-21.897) result from dual;14.2.5 mod ()函数取模操作mod()函数有两个参数,第一个参数为为被除数,第二个 参数为为除数。mod()函数的实际实际 功能为获为获 得两数相除之后 的余数。select mod(5,2) result from dual; 14.2.6 sign()函数返回数字的正负性sign()函数只有一个参数。该

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号