Oracle常用函数以和行列转换.docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle常用函数以和行列转换

常用的函数 数值函数 ABS(N) 返回指定值的绝对值 CEIL(N) 返回大于或等于给出数字的最小整数 FLOOR(N) 对给定的数字取整数 MOD(M,N) 返回一个M除以N的余数 ROUND( M [,N] ) 按照指定的小数位元数进行四舍五入运算的结果 参数:如果N不为整数则截取N整数部分,如果N0则四舍五入为N位小数,如果N小于0则四舍五入到小数点向左第N位。 TRUNC(M[,N]) 返回M按精度N截取后的值 参数:如果N不为整数则截取N整数部分,如果N0则截取到N位小数,如果N小于0则截取到小数点向左第N位,小数前其它数据用0表示。 转换函数 TO_CHAR (NUMBER | date,format) TO_NUMBER (char , format) TO_DATE (char, format) 分组函数 MAX AVG MIN COUNT SUM 字段为空的判断 NULL的概述 NULL在Oracle中是很特殊的值,任何类型的值都可以是NULL。如果在某行中有一列没有值,那么就说慈航中这个列的值是NULL。NULL是未知的东西,常称它为“UNKNOWN”或空值。正因为它是未知的,才会有很多值得注意的规则。NULL可以是任何数据类型的值,也可以不依赖于数据类型单独存在(字面量NULL),任何没有NOT NULL约束或主键约束的列都有可能出现NULL值。 NULL和其他任何值都不相等或相等,包括自身(当然是用IS NULL判断是可以的)。但是在某些时候,Oracle却把他们当成相等的(指Oracle的一些内部规则),如SQL集合语句、Group by分组、Decode函数等。 NULL的判断和比较运算规则 Oracle中判断一个列值或变量值是否是NULL,必须是用IS NULL或IS NOT NULL,而不能使用=NULL或NULL。 NULL的算数或者逻辑运算规则 NULL做一些算数运算,比如+、-、*、/等,结果还是NULL,但是对于连接操作符||,NULL忽略。 select null+10 from dual; select null||ygczm from dual; select concat(null,ygczm) from dual; NULL与函数 Oracle对NULL处理有专门的函数,所以这里只讲述NVL、NVL2、NULLIF、COALESCE、DECODE函数,以及两种CASE表达式对NULL的处理。 NVL函数 语法:NVL(expr1,expr2) 描述:常用语expr1可能是NULL,而我们又不想在查询结果中出现空值的转换需求。如果expr1是NULL,那么用expr2作为返回值,不是NULL则返回expr1。 expr1和expr2一般是类型相同的,如果类型不同会采用自动类型转换,如果转换失败则出错。采用的自动类型转换规则如下: 如果expr1是字符类型,那么在比较前expr2转换为expr1类型,返回值类型是expr1所在的字符集的VARCHAR2类型。 如果expr1是数值型,Oracle会检查expr1和expr2的数值类型优先级,然后将优先级低的参数类型转换为优先级高的参数类型,最后返回的类型是优先级最高的那个类型。数值类型优先级BINARY_DOUBLEBINARY_FLOATNUMBER。 如果expr1是字面量NULL,expr2是非NULL。则转为expr2类型,返回值同expr2。 NVL2函数 语法:NVL(expr1,expr2,expr3) 描述:常用于对expr1的值不管是否是NULL都要转换的需求。比NVL要先进一点,加了额外的判断,expr1如果是NULL则返回expr3,否则返回expr2。这里的类型转换就和expr1没有关系了,一般要求expr2和expr3类型要一致,如果不一致则采用自动类型转换。 如果expr2是字符类型,在比较前将expr3转换为expr2类型,如果expr3是字面量NULL,则没有必要转换。 如果expr2是数值类型,Oracle会检查expr2和expr3的数值类型优先级,然后将低优先级的参数类型转换为高优先级的参数类型,最后返回值类型就是高优先级的类型。 如果expr2是字面值NULL,expr3不是NULL,则返回值同expr3类型。 下面的6个例子中哪些是错的呢? select NVL2(NULL,1,2) from dual; select NVL2(NULL,1,2) from dual; select NVL2(NULL,NULL,2) from dual; select NVL2(NULL,1,2) from dual; select NVL2(NULL,1,a) from dual; sel

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档