oracle学习笔记大全.docx

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文档仅供参考 PAGE 1 1、decode函数: SELECT checkup_type, DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,’Invalid’) FROM checkup; DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于SQL的其它函数,DECODE函数还能识别和操作空值. 其具体的语法格式如下: DECODE(input_value,value,result[,value,result…][,default_result]); 其中:input_value 试图处理的数值。DECODE函数将该数值与一系列的序偶相比较,以决定最后的返回结果value 是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用关键字NULL于之对应result 是一组成序偶的结果值default_result 未能与任何一序偶匹配成功时,函数返回的默认值下面的例子说明了,如何读取用户CHECKUP表SEAPARK中的BLOOD_TEST_FLAG列下的项目,作为DECODE函数的实参支持值。 2、nvl函数的用法: 如果你某个字段为空,但是你想让这个字段显示0nvl(字段名,0),就是当你选出来的时候, 这个字段虽然为空,但是显示的是0,当然这个0也可以换成其他东西,如:1,2,3…… NULL指的是空值,或者非法值。 NVL (expr1, expr2)-expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致 NVL2 (expr1, expr2, expr3) -expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型 NULLIF (expr1, expr2) -相等返回NULL,不等返回expr1 3、oracle的查询必须是 select ... from ...成对出现: 查询单行的时候可以用dual代替,dual表在系统中只有一行; 例如:获取系统时间; select sysdate from dual 4、oracle查询结果多行用逗号拼接: SELECT WM_CONCAT(GOODSTYPENAME) FROM TB_SYS_PRODUCT_FORBIDGOODSTYPE fib LEFT JOIN TB_SYS_GOODSTYPE ty ON fib.goodstypeid=ty.goodstypeid WHERE fib.productid=t.productid 5、oracle递归获取所有子或者父节点: pid为子级的父级id的字段名称 从Root往树末梢递归:获取子级 select * from temp start with id=3 /*父级的id*/ connect by prior id = pid /*pid 子级的父级id的字段名称*/ 从末梢往树ROOT递归:获取父级 select * from temp start with id=3 connect by id = prior pid /*pid子级的父级id的字段名称*/ 如果需要显示层次结构 select sys_connect_by_path(id,/),pid from temp start with id=1 connect by prior id = pid Rg: SELECT * from tb_base_netpoint t START WITH t pointid=74852 CONNECT BY PRIOR t pointid=t.parentnetpoint 6、oracle使用正则表达式: 替换掉大写字母: SELECT REGEXP_REPLACE(printNo,^[A-Z]*,) AS ISSUENO FROM TB_BASE_PRINTORDERLIST Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和REGEXP_REPLACE。 特殊字符: ^ 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 n 或 r。 . 匹配除换行符 n之外的任何单字符。 ? 匹配前

您可能关注的文档

文档评论(0)

聚好信息咨询 + 关注
官方认证
服务提供商

本公司能够提供如下服务:办公文档整理、试卷、文档转换。

认证主体鹤壁市淇滨区聚好信息咨询服务部
IP属地河南
统一社会信用代码/组织机构代码
92410611MA40H8BL0Q

1亿VIP精品文档

相关文档