T_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文档。上传文档
查看更多
T_SQL

《第二章 T_SQL高级查询》 一、 1.时间函数 a getDate --获得当前系统日期。 使用:select getDate DateAdd --改变指定的日期部分 使用:select dateadd mm,’1999-01-01’ ;结果:1999-02-01 Datediff —求两个时间中,指定日期部分的时间差 使用:select datediff mm,1999-01-01,1999-02-01 结果:1 datepart —取出指定的日期部分 使用:select datepart yy,1999-01-01 结果:1999 Year \month \day ---取出指定的日期部分 year 1999-01-01 结果:1999 注意:日期各部分的表示形式(yy 年 、mm(月)、dd 日 、hh(小时)、mi(分钟)、ss 秒 ) 日期的正确显示形式(1)年-月-日 小时:分钟:秒(如:1999-01-01 01:05:10)(2)月/日/年(如:02/15/1999) 2.数学函数 ceiling ----天花板,取大于或等于数值的最小整数 使用:select ceiling 43.5 结果:44 Floor ----地板,取小于或等于数值的最大整数 使用:select floor 43.5 结果:43 3.系统函数 a convert 数据类型,数值 使用:select convert varchar 10 ,1000 结果:返回字符串1000 b cast 数值 as 数据类型 使用:select cast 1000 as varchar 10 结果:返回字符串1000 4.聚合函数 a sum 列名 :求和 使用:select sum 成绩列 from 成绩表select avg 成绩列 from 成绩表select max 成绩列 from 成绩表 select min 成绩列 from 成绩表 或者 select max 成绩列 ,min 成绩列 from 成绩表 二、应用案例: 查询吴红同学什么时间毕业? select 学员+姓名+毕业于+cast 毕业时间as varchar 20 from 学员信息表where 姓名 吴红select datediff dd,入学时间,毕业时间 from 学员信息表where 姓名 张中select sum 成绩 ,avg 成绩 from 成绩表where 科目编号 1select * from 学员信息表where 入学时间between 2006-07-01 and 2006-07-31select * from 学员信息表where datepart mm,入学时间 7select sum 成绩 ,avg 成绩 from 成绩表group by 科目编号select avg 成绩 from 成绩表group by 科目编号,学员编号having count 成绩 1select 科目编号,count * from 成绩表where 成绩 80 group by 科目编号select 学员编号from 成绩表where成绩 80 group by 科目编号,学员编号having count * 1select * from 表where 条件 group by 列名 having 条件 order by 列名(ASC/DESC) 1、--条件中查询范围值的可以使用 列名between 值and 值 例如:select * from 表名where 列名between 值and 值 2、--查询的条件是空值 is null 或者is not null 例如:select * from 表名where 列名is null 3、--查询的条件中,值不确定时,使用like查询。%代表-N个字符。_代表有且只有一个字符 列名like %值_ 例如:select * from 表名where 列名like %值 4、--对查询结果排序 Order by 列名 ASC/DESC 例如:select * from 表名order by 列名descselect a1.姓名,a2.成绩 from 学员信息表as a1,成绩表as a2 where a1.学员编号 a2.学员编号and a2.成绩 80 and 科目编号 1 select a1.姓名,a2.成绩 from 学员信息表 as a1 inner join成绩表a1.学员编号 a2.学员编号 and a2.成绩 80 and 科目编号 1 查询出语文成绩大于80分的学员姓名和成绩 两种方式实现 select a1.姓名,a2.成绩,a3

文档评论(0)

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

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

1亿VIP精品文档

相关文档