20个案例掌握L SQL 基础.docVIP

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

20个案例掌握PL/SQL 基础 有MS SQL基础,学习了两周多的PL/SQL,做了一些事例,但是很多信息在网上难以找到太多正确的答案,看到一篇又一篇的PL/SQL博文,案例方面的博文一篇又一篇的雷同,一看就是是Ctrl+C的复制.给一些博主留言希望得到解答,但是等到却是我也是复制来的,具体的没测试. 狠心之下,花了不少时间学习.做了一些例子,搞定之余,留下点供参考的例子. 阅读本篇博文之前,建议你学习一下基础,这是推荐的两个PL/SQL博客, EricHu 胡勇:Oracle编程详解 传送门 liulun:  ??PL/SQL学习笔记 索引帖 传送门? 测试:SQL Navigator 3+Oracle;远程连接 用以下案例来总结 PL/SQL相关知识: 1.将2010-12-06转换成Dec-06-2010的格式. 错解: 1 select to_char to_date 2010-12-06,yyyy-mm-dd ,mon-dd-yyyy from dual PS:如果安装的系统默认语言为EN,那么这种执行结果正确,但是若是CN那就错了.所以,需要设置一下显示的语言才能保证Dec的出现. 正解: 1 select to_char to_date 2010-12-06,yyyy-mm-dd ,mon-dd-yyyy,NLS_DATE_LANGUAGE American from dual 2.PL/SQL中常用round函数,trunc函数,instr函数,substr函数的区别. 正解: 1 round x,y 以小数点右边第y位四舍五入x; 2 trunc x,y 舍去小数点右边第y位以后的数字; 不要去看网上的所谓负数出现的解释,没什么用,以后出现的机会也不会存在 3 instr str1,str2,num Str1:原字符串,str2要查找的字符串,num第几次出现 返回要查找的str2在原字符串str1中第num次出现的位置,若不存在,则返回0; 4 substr str1,num1,num2 截取字符串str中 从num1位开始之后的num2个,num1为负数时反向 3.外连接与内连接: 正解:oracle外连接中左.右.全连接的区别 ?传送门 4.如何删除重复的记录. 错解: 1 select * from 表 where Id in select Id from 表 group by Id having count Id 1 PS:仔细看了一下代码,自己居然粗心地把所有重复记录数据的都按 id 删除了,但是是不是该保留一行呢?! 正解: 1 delete from table 2 where id in 3 4 select id from table 5 group by id 6 having count id 1 7 and rowid not in 8 9 select min rowid from table 10 --记住oracle中独有的标识列字段rowid, 11 --查询所有重复id但是不包括最小 min 的id,删除之;最大的效果同理. 12 --但是是不是还有个问题,id必须是递增而且是设为主键的,要不然,这道例子 13 14 5.返回今天星期几 5.1返回 星期五;5,2返回Friday 正解: 5.1 1 select to_char sysdate,day,nls_date_language simplified chinese from dual 5.2 1 select to_char sysdate,day,nls_date_language American from dual PS:这个和和第一题类似.注意5.1的simplified chinese后面的3个单引号,因为是字符串.所以在 simplified chinese要加上单引号simplified chinese,但是因为两个单词中间有空格,再加上一层 simplified chinese,再有一个单引号就是转义符,变成了 simplified chinese.反正有点混乱,看我在论坛问的这个解答: /topics/座机电话号码6 6.返回当前月的最后一天. ?正解: 1 select last_day add_months sysdate,0 from dual PS:如果把sysydate加法或者减法,结果就是求出加法或者减法之后的月份的最后一天 7.使用Oracle自带函数实现输入5.5,分别得到6和5; 正解: 1 select round 5.5,0 from dual--得到6 2 select trunc 5.5,0 from

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档