SQLServer学习笔记系列3

php中文网
发布: 2016-06-07 15:26:57
原创
1121人浏览过

一.写在前面的话 今天又是双休啦!生活依然再继续,当你停下来的时候,或许会突然显得不自在。有时候,看到一种东西,你会发现原来在这个社会上,优秀的人很多,默默 吃苦努力奋斗的人也多!星期五早上按时上班,买好早餐,去公司餐厅吃早餐,我遇见了一个人

一.写在前面的话

今天又是双休啦!生活依然再继续,当你停下来的时候,或许会突然显得不自在。有时候,看到一种东西,你会发现原来在这个社会上,优秀的人很多,默默

吃苦努力奋斗的人也多!星期五早上按时上班,买好早餐,去公司餐厅吃早餐,我遇见了一个人,也许一次两次我还不会去注意,然而我每次在餐厅吃早餐,

都会遇到他,我看到他的是每一次都带着一碗白粥在那里吃,甚至连一点咸菜都没用,或许我这样的单身狗,不能理解有家室的痛楚,也许这是他的一种生活

方式,但我更多的看到的是他的一种吃苦,为了家人,为了将来的一种努力。也许是我想太多,但不管怎样,我们都该注意身体,按时吃早餐,保持营养,为

了以后我们的家人和以后的幸福,我们更应该努力并保重着自己。说了这么多,还是继续我们的sqlserver的学习吧!前面的学习系列:

SQLServer学习笔记系列1:http://www.cnblogs.com/liupeng61624/p/4354983.html

SQLServer学习笔记系列2:http://www.cnblogs.com/liupeng61624/p/4367580.html

 

二.case表达式

(1)简单表达式,例如,要查询雇员表里面地区(region)为WA的用“华盛顿地区”代替表示。

<span>1</span>  <span>select</span><span> firstname,lastname,
</span><span>2</span>  <span>case</span><span> region
</span><span>3</span>  when <span>'</span><span>WA</span><span>'</span> then <span>'</span><span>华盛顿地区</span><span>'</span>
<span>4</span>  <span>else</span> <span>'</span><span>其他地区</span><span>'</span>
<span>5</span> <span> end
</span><span>6</span>  <span>from</span> hr.employees
登录后复制

SQLServer学习笔记系列3

(2)搜索表达式,在这里我们先查询下雇员表(hr.employees里面的信息。

<span>1</span>  <span>select</span><span> firstname,lastname,region
</span><span>2</span>  <span>from</span> hr.employees
登录后复制

SQLServer学习笔记系列3

假如对于region为null的地区,我们想用“未知地区”来表达,该怎么写了?此时就需要用到搜索表达式,可以这样写:

<span>1</span>  <span>select</span><span> firstname,lastname,
</span><span>2</span>  <span>case</span> when region =<span>'</span><span>WA</span><span>'</span> then <span>'</span><span>华盛顿地区</span><span>'</span>
<span>3</span>       when region <span>is</span> <span>null</span> then <span>'</span><span>未知地区</span><span>'</span>
<span>4</span>  <span>else</span> <span>'</span><span>其他地区</span><span>'</span>
<span>5</span> <span> end
</span><span>6</span>  <span>from</span> hr.employees
登录后复制

结果如图所示:

SQLServer学习笔记系列3

 

三.日期和时间数据的处理。

(1)字符串日期

‘20080301’,这一串为字符串日期,但必须保证为四位的年份,两位的月份,两位的日期。例如,查询订单表日期大于‘20080301’。可以这样写:

<span>1</span>  <span>select</span> * <span>from</span><span> sales.orders
</span><span>2</span>  <span>where</span> orderdate><span>'</span><span>20080301</span><span>'</span>
登录后复制

结果如图所示:

SQLServer学习笔记系列3

(2)cast进行转化。例如,可以讲‘20080301’转化为时间类型。其结果跟上图一样。

白月工作室培训学校学员(会员)管理系统1.01 GBK
白月工作室培训学校学员(会员)管理系统1.01 GBK

培训学校管理系统适合于目前的一般培训学校,比如英语、计算机、少儿培训中心等小型培训机构。本系统原本是针对计算机培训所设计。培训学校管理系统的大体功能为:一、 学员信息管理:1. 学员信息管理(会员形式)2. 操作员流水记录二、 学员报名管理1. 学员报名处理学员信息录入以意向性列表方式记录,以后可以跟踪2. 学员再次报名(二次或者多次学习其他项目)3. 学员退学处理4. 学员暂时保留学习处理(类似

白月工作室培训学校学员(会员)管理系统1.01 GBK 0
查看详情 白月工作室培训学校学员(会员)管理系统1.01 GBK

<span>1</span>  <span>select</span> * <span>from</span><span> sales.orders
</span><span>2</span>  <span>where</span> orderdate>cast(<span>'</span><span>20080301</span><span>'</span> <span>as</span> datetime)
登录后复制

(3)datepart,截取日期中的某一段,year代表截取年,month代表截取月份,day代表截取日期。等等。。。。。

例如:截取当前时间的某一部分。

<span>1</span>  <span>select</span> datepart(year,getdate()) <span>as</span> N<span>'</span><span>年份</span><span>'</span><span>,
</span><span>2</span>         datepart(month,getdate()) <span>as</span> N<span>'</span><span>月份</span><span>'</span><span>,
</span><span>3</span>         datepart(day,getdate()) <span>as</span> N<span>'</span><span>日</span><span>'</span><span>,
</span><span>4</span>         datepart(hour,getdate()) <span>as</span> N<span>'</span><span>时</span><span>'</span><span>,
</span><span>5</span>         datepart(minute,getdate()) <span>as</span> N<span>'</span><span>分</span><span>'</span><span>,
</span><span>6</span>         datepart(second,getdate()) <span>as</span> N<span>'</span><span>秒</span><span>'</span>
登录后复制

结果如图:

SQLServer学习笔记系列3

(4)特殊日期截取部分,例如:

<span>1</span>   <span>select</span> datepart(dayofyear,getdate()) <span>as</span> N<span>'</span><span>一年中的第几天</span><span>'</span><span>,
</span><span>2</span>         datepart(weekday,getdate()) <span>as</span> N<span>'</span><span>一星期中第几天</span><span>'</span><span>,
</span><span>3</span>         datepart(week,getdate()) <span>as</span> N<span>'</span><span>今年的第几周</span><span>'</span>
登录后复制

结果如图:

SQLServer学习笔记系列3

(5)日期的加减。dateAdd(增长单位(年、月、日),步长(增长多少),基数),datediff(单位,步长,基数)。

例如:当前日期加20天是多少?算一算我深爱的祖国建国多久?本屌丝今年多大?

<span>1</span>  <span>select</span> dateadd(day,<span>20</span>,getdate()) <span>as</span> N<span>'</span><span>20天后的是什么日子</span><span>'</span><span>,
</span><span>2</span>         datediff(year,<span>'</span><span>19491001</span><span>'</span>,getdate()) <span>as</span> N<span>'</span><span>祖国成立这么多年啦</span><span>'</span><span>,
</span><span>3</span>         datediff(year,<span>'</span><span>19911002</span><span>'</span>,getdate()) <span>as</span> N<span>'</span><span>屌丝多大啦</span><span>'</span>
登录后复制

SQLServer学习笔记系列3

(6)cast与convert,两者都能讲字符串或者其他形式的转化为指定的类型。不同的是:convert转化时可以指定转化的样式,cast则直接转化。

例如:

<span>1</span>  <span>select</span> convert(nvarchar,getdate(),<span>112</span>) <span>as</span> N<span>'</span><span>转化后的形式</span><span>'</span><span>,
</span><span>2</span>        left( convert(nvarchar,getdate(),<span>112</span>),<span>6</span>) <span>as</span> N<span>'</span><span>取出年月</span><span>'</span>
登录后复制

结果如图:

SQLServer学习笔记系列3

这次内容比较少,下一节准备学习我们常用的join连接,准备好好学习一下。

 

希望各位大牛给出指导,不当之处虚心接受学习!谢谢!

 

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号