Oracle的函数与SQL高级查询介绍.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle函数与高级查询 二 Oracle的函数 2.1 什么是函数 函数:指对一堆逻辑的打包,能够支持传入的参数,根据参数得到一定的结果; 那么,在oracle中,都有什么函数,有什么类型的函数,函数有什么分类? 2.2 函数的分类 2.2.1 单行与多行 除了聚合(组)函数,其它全是单行函数 Oracle的函数咱们可以简单分成再种:多行函数与单行函数,如下图: 什么是单行函数 简单理解:对单行数据进行是操作,得到单行数据 ; 比如concat连接函数 concat 连接函数得到的效果; 使用concat 不会影响行数,以前100行,使用concat之后得到的结果也是100行。 单行函数 :在执行获得结果后。可以支持传入参数【列和表达式】,针对每一行单独做运算。最终不会影响结果的行数。 单行函数特点: 1接收参数返回一个值 2对每一行返回行起作用 3每一行返回一个结果 4可以修改数据类型 5可以使用嵌套 concat(concat(col1,col2),col2) 除了concat 这样的单行函数以外,还有其他的单行函数,比如字符处理函数; 比如有时要求用户名全部大写或者小写,或者需要得到一个人的姓,这些都需要字符函数进行处理,字符函数中,也存在分类 什么是多行函数 多行函数:简单理解对多行数据进行操作,最后返回一个数据 比如count函数: Count 针对过滤后的结果 支持传入表的列名或者常量,对所有行的记录统一处理。最终只会得到一个结果,会影响结果行数; 多行函数 : 在执行获得结果后。可以支持传入参数【列和表达式】,针对每一行整体统计做运算。最终只会产生1行数据 咱们所说的单行与多行是指这个函数操作的数据是单行还是多行(不是说的结果) 单行、多行分别用在哪? 扩展理解与练习 比如concat 用在哪里? 可以放在select 后,把它的姓和名连接起来; 单行函数: select 关键字之后 where 之后的条件上 (where 之后单行函数 如下) 姓名中有e或者a的员工? 把姓名组合起来查询 select * from employees where first_name || last_name like %e% or first_name || last_name like %a% 使用函数 Select * from employees Where concat(first_name,last_name) like ‘%e%’ Or first_name || last_name like ‘%a%’; 多行函数: 针对Select 关键之后 ;比如count函数 统计所有行 ,放在select之后 使用多行函数 得到就一个结果,那我放在where 后面 有意义吗? Where 是针对每一行, 而多行函数 返回结果只有一行,如果放在where 之后,执行一次,是一个结果,执行二次还是同一个结果,所以没有意义. 2.2.2 函数功能分类 可以分为:字符函数、数字函数,转换函数,日期函数,组函数,其它函数 字符(串)函数:拼接字符串,截取字符串,全变大写,全变小写,首字母大写... 数字(number)函数:四舍五入,舍掉 转换函数:字符《--》日期 字符《--》数字 日期函数:拿到年,月,日,时,分,秒 组函数:sum,count,max.... 其它函数: 2.3 字符函数 字符函数分为大小写转换函数与字符处理函数 2.3.1 大小写转换函数 大小写转换函数: Lower(列|表达式) 全部转换小写 Upper(列|表达式) 全部转换大写 Initcap(列|表达式) 首字母大写 练习案例: select Hello world from dual; 大写:select upper(Hello world) from dual; 小写:select lower(Hello world) from dual; 练习案例: 1,查询first_name为randall的员工工资; 分析:我们查询的时候不需要关心名称中的大小写问题 select * from employees where lower(first_name) =randall; 练习案例: 2,客户在输入名字的时候,可以不会在意名称的大小写,比如,Wang Xiaoer,假设现在在发送邮件,需要按照正规的格式输出姓名;请使用SQL处理 分析:我们可以插入一条小写的名字,然后使用首字母大写查询出来,格式更完整 insert into employees (employee_id,first_name

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档