一.写在前面的话

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

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

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

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

了以后我们的家人和以后的幸福,我们更应该努力并保重着自己。说了这么多,还是继续我们的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的用“华盛顿地区”代替表示。

  select firstname,lastname,
case region
when 'WA' then '华盛顿地区'
else '其他地区'
end
from hr.employees

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

  select firstname,lastname,region
from hr.employees

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

  select firstname,lastname,
case when region ='WA' then '华盛顿地区'
when region is null then '未知地区'
else '其他地区'
end
from hr.employees

结果如图所示:

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

(1)字符串日期

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

  select * from sales.orders
where orderdate>''

结果如图所示:

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

  select * from sales.orders
where orderdate>cast('' as datetime)

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

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

  select datepart(year,getdate()) as N'年份',
datepart(month,getdate()) as N'月份',
datepart(day,getdate()) as N'日',
datepart(hour,getdate()) as N'时',
datepart(minute,getdate()) as N'分',
datepart(second,getdate()) as N'秒'

结果如图:

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

   select datepart(dayofyear,getdate()) as N'一年中的第几天',
datepart(weekday,getdate()) as N'一星期中第几天',
datepart(week,getdate()) as N'今年的第几周'

结果如图:

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

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

  select dateadd(day,,getdate()) as N'20天后的是什么日子',
datediff(year,'',getdate()) as N'祖国成立这么多年啦',
datediff(year,'',getdate()) as N'屌丝多大啦'

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

例如:

  select convert(nvarchar,getdate(),) as N'转化后的形式',
left( convert(nvarchar,getdate(),),) as N'取出年月'

结果如图:

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

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

SQLServer学习笔记系列3的更多相关文章

  1. SQLServer学习笔记系列2

    一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继续学习Sqlserver,一步一步 ...

  2. SQLServer学习笔记系列6

    一.写在前面的话 时间是我们每个人都特别熟悉的,但是到底它是什么,用什么来衡量,可能很多人会愣在那里.时间可以见证一切,也可以消磨一切,那些过往的点点滴滴可思可忆.回想往年清明节过后,在家乡的晚上总能 ...

  3. SQLServer学习笔记系列5

    一.写在前面的话 转眼又是一年清明节,话说“清明时节雨纷纷”,武汉的天气伴随着这个清明节下了一场暴雨,整个城市如海一样,朋友圈渗透着清明节武汉看海的节奏.今年又没有回老家祭祖,但是心里依然是怀念着那些 ...

  4. SQLServer学习笔记系列1

    一.前言 一直自己没有学习做笔记的习惯,所以为了加强自己对知识的深入理解,决定将学习笔记写下来,希望向各位大牛们学习交流! 不当之处请斧正!在此感谢!这边就先从学习Sqlserver写起,自己本身对数 ...

  5. SQLServer学习笔记系列4

    一.写在前面的话 好多天没有记录sql学习笔记了,要坚持下去,坚信每一点的进步都是为在积蓄力量.今天看到一幅图,特此分享出来. 通过这幅图,我看到的是每人站在自己的角度看问题,感受是不一样的,就如同学 ...

  6. SQLServer学习笔记系列12

    一.写在前面的话 这个sql学习系列,今天准备告一段落,虽然短短的十几篇文章,深刻感受到将学习的东西记录下来,是需要一种坚持! 这些东西只有反复的学习吸收,最终沉淀下来的才是属于自己的知识.也是提醒自 ...

  7. SQLServer学习笔记系列11

    一.写在前面的话 身体是革命的本钱,这句放在嘴边常说的话,还是拿出来一起共勉,提醒一起奋斗的同僚们,保证睡眠,注意身体!偶尔加个班,也许不曾感觉到身体发出的讯号,长期晚睡真心扛不住!自己也制定计划,敦 ...

  8. SQLServer学习笔记系列10

    一.写在前面的话 生活的路很长,还是要坚持走下去,自己选择的生活,就该让这样的生活放射精彩!我不奢求现在的积累,在将来能够收获多少,至少在以后的日子里回忆起来,我不曾放弃过,我坚持过,我不后悔!最近跟 ...

  9. SQLServer学习笔记系列8

    一.写在前面的话 最近一直在思考一个问题,什么才能让我们不显得浮躁,真正的静下心来,用心去感受,用心去回答每个人的问题,用心去帮助别人.现实的生活,往往让我们显得精疲力尽,然后我们仔细想过没用,其实支 ...

随机推荐

  1. mysql group_concat 使用 (按分组组合字段)

    语法: GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr}[ASC | DES ...

  2. Git 的origin和master分析

    首先要明确一点,对git的操作是围绕3个大的步骤来展开的(其实几乎所有的SCM都是这样) 1.     从git取数据(git clone) 2.     改动代码 3.     将改动传回git(g ...

  3. 【腾讯Bugly干货分享】移动互联网测试到质量的转变

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ee0934b690d84c3188d7c7 Dev Club 是一个交流移动 ...

  4. mongodb( 实现join)

    mongodb提供ref和populate的方法,支持类似join的SQL操作.本文给出一个实际的例子: 1. 数据1: var daob = new Schema({ user: { type: S ...

  5. Java多线程16:线程组

    线程组 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线程组对象,有效地对线 ...

  6. js只需5分钟创建一个跨三大平台纯原生APP

    DeviceOne之前介绍过了,现在来介绍一下DeviceOne快速开发到什么程度 使用js只需要5分钟就可以打出垮Android.ios.windows三大平台的纯原生UI的安装包. 只需要6个小时 ...

  7. [异常解决] virtualbox从.VDI备份文件新建/恢复虚拟机(包括恢复各个备份节点)

    一.前言: ubuntu上的virtualbox中的虚拟机如果关机不当会导致整个虚拟机坏掉,而且采用各种debug方式都难以让它重新启动.这时你只能用之前备份的各个VDI文件来恢复系统了.还有另一种场 ...

  8. 分享最新的博客到LinkedIn Timeline

    使用Octopress作为我的博客框架有两年了.使用起来一直很顺手,这个工具真正的把博客跟写代码等同起来,非常酷炫.再加上各种各样的定制化,简直是随心所欲.我针对自己的需求对Octopress框架进行 ...

  9. 如何成为一个Xamarin专家

    近期,我们发布了 Xamarin studio 6,这个版本充满了美妙的新特性,能够更有效的帮助我们的开发工作.由于其深层次的 IDE 比较复杂,同时我们也很难去发现并记得那些对我们最有帮助的特性,所 ...

  10. Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明

    这里所说的高级接口是指面向通过认证的服务号开通的高级功能. 高级功能大致可以分类为: 用户接口 分组接口 客服接口(有别于之前介绍的多客服) 群发接口 多媒体接口 二维码接口 模板消息接口(不是所有账 ...