oracle常用函数以及行列转换

oracle常用函数以及行列转换

ID:8803902

大小:122.80 KB

页数:8页

时间:2018-04-08

oracle常用函数以及行列转换_第1页
oracle常用函数以及行列转换_第2页
oracle常用函数以及行列转换_第3页
oracle常用函数以及行列转换_第4页
oracle常用函数以及行列转换_第5页
资源描述:

《oracle常用函数以及行列转换》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、常用的函数数值函数ØABS(N)返回指定值的绝对值ØCEIL(N)返回大于或等于给出数字的最小整数ØFLOOR(N)对给定的数字取整数ØMOD(M,N)返回一个M除以N的余数ØROUND(M[,N])按照指定的小数位元数进行四舍五入运算的结果参数:如果N不为整数则截取N整数部分,如果N>0则四舍五入为N位小数,如果N小于0则四舍五入到小数点向左第N位。ØTRUNC(M[,N])返回M按精度N截取后的值参数:如果N不为整数则截取N整数部分,如果N>0则截取到N位小数,如果N小于0则截取到小数点向左第N位,小数前其它数据用0表示。转换函数ØTO_CHAR(NUMBER

2、date,'forma

3、t')ØTO_NUMBER(char,'format')ØTO_DATE(char,'format')分组函数ØMAXØAVGØMINØCOUNTØSUM字段为空的判断NULL的概述NULL在Oracle中是很特殊的值,任何类型的值都可以是NULL。如果在某行中有一列没有值,那么就说慈航中这个列的值是NULL。NULL是未知的东西,常称它为“UNKNOWN”或空值。正因为它是未知的,才会有很多值得注意的规则。NULL可以是任何数据类型的值,也可以不依赖于数据类型单独存在(字面量NULL),任何没有NOTNULL约束或主键约束的列都有可能出现NULL值。NULL和其他任何值都不相等或相等,

4、包括自身(当然是用ISNULL判断是可以的)。但是在某些时候,Oracle却把他们当成相等的(指Oracle的一些内部规则),如SQL集合语句、Groupby分组、Decode函数等。NULL的判断和比较运算规则Oracle中判断一个列值或变量值是否是NULL,必须是用ISNULL或ISNOTNULL,而不能使用=NULL或<>NULL。NULL的算数或者逻辑运算规则NULL做一些算数运算,比如+、-、*、/等,结果还是NULL,但是对于连接操作符

5、

6、,NULL忽略。selectnull+10fromdual;selectnull

7、

8、'ygczm'fromdual;selectconca

9、t(null,'ygczm')fromdual;NULL与函数Oracle对NULL处理有专门的函数,所以这里只讲述NVL、NVL2、NULLIF、COALESCE、DECODE函数,以及两种CASE表达式对NULL的处理。NVL函数Ø语法:NVL(expr1,expr2)Ø描述:常用语expr1可能是NULL,而我们又不想在查询结果中出现空值的转换需求。如果expr1是NULL,那么用expr2作为返回值,不是NULL则返回expr1。expr1和expr2一般是类型相同的,如果类型不同会采用自动类型转换,如果转换失败则出错。采用的自动类型转换规则如下:ü如果expr1是字符类型,那么

10、在比较前expr2转换为expr1类型,返回值类型是expr1所在的字符集的VARCHAR2类型。ü如果expr1是数值型,Oracle会检查expr1和expr2的数值类型优先级,然后将优先级低的参数类型转换为优先级高的参数类型,最后返回的类型是优先级最高的那个类型。数值类型优先级BINARY_DOUBLE>BINARY_FLOAT>NUMBER。ü如果expr1是字面量NULL,expr2是非NULL。则转为expr2类型,返回值同expr2。NVL2函数Ø语法:NVL(expr1,expr2,expr3)Ø描述:常用于对expr1的值不管是否是NULL都要转换的需求。比NVL要先进

11、一点,加了额外的判断,expr1如果是NULL则返回expr3,否则返回expr2。这里的类型转换就和expr1没有关系了,一般要求expr2和expr3类型要一致,如果不一致则采用自动类型转换。ü如果expr2是字符类型,在比较前将expr3转换为expr2类型,如果expr3是字面量NULL,则没有必要转换。ü如果expr2是数值类型,Oracle会检查expr2和expr3的数值类型优先级,然后将低优先级的参数类型转换为高优先级的参数类型,最后返回值类型就是高优先级的类型。ü如果expr2是字面值NULL,expr3不是NULL,则返回值同expr3类型。下面的6个例子中哪些是错的

12、呢?selectNVL2(NULL,1,2)fromdual;selectNVL2(NULL,'1',2)fromdual;selectNVL2(NULL,NULL,2)fromdual;selectNVL2(NULL,1,'2')fromdual;selectNVL2(NULL,1,'a')fromdual;selectNVL2(NULL,'a',1)fromdual;NULLIF函数Ø语法:NULLIF(expr1,expr2)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。