日期和时间数据的处理。

(1)字符串日期

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

1  select * from sales.orders
2 where orderdate>'20080301'

结果如图所示:

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

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

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

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

1  select datepart(year,getdate()) as N'年份',
2 datepart(month,getdate()) as N'月份',
3 datepart(day,getdate()) as N'日',
4 datepart(hour,getdate()) as N'时',
5 datepart(minute,getdate()) as N'分',
6 datepart(second,getdate()) as N'秒'

结果如图:

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

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

结果如图:

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

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

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

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

例如:

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

结果如图:

case表达式

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

1  select firstname,lastname,
2 case region
3 when 'WA' then '华盛顿地区'
4 else '其他地区'
5 end
6 from hr.employees

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

1  select firstname,lastname,region
2 from hr.employees

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

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

结果如图所示:

SQLServer学习笔记<>日期和时间数据的处理(cast转化格式、日期截取、日期的加减)和 case表达式的更多相关文章

  1. SQLServer学习笔记系列3

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

  2. SQLServer学习笔记系列2

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

  3. SQLServer 学习笔记之超详细基础SQL语句 Part 8

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 7------------------- --触发器str_trigge ...

  4. SQLServer学习笔记系列5

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

  5. SQLServer学习笔记<>相关子查询及复杂查询

    二.查询缺少值的查询 在这里我们加入要查询2008年每一天的订单有多少?首先我们可以查询下订单表的订单日期在2008年的所有订单信息. 1 select distinct orderdate,coun ...

  6. SQLServer 学习笔记之超详细基础SQL语句 Part 12(The End)

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 11------------------- 现在,我们希望从 " ...

  7. SQLServer 学习笔记之超详细基础SQL语句 Part 6

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 5------------------- 28 聚合函数 --求平均分 ...

  8. SQLServer 学习笔记之超详细基础SQL语句 Part 2

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 1------------------- 建立如下数据表 CREATE ...

  9. SQLServer学习笔记系列6

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

随机推荐

  1. 作业一直"执行"

    背景:一个作业有7个步骤,前面的步骤成功/失败都转到下一步,直至最后退出,作业计划是每天早上8点执行.步骤中的语句是例行检查脚本,之前的历史记录都是一分钟内完成.此次重启数据库服务器后,检查发现此作业 ...

  2. ARC 没有自动释放内存

    http://www.cnblogs.com/qingche/p/4569833.html 定位了好几天,才发现是打印日志没有即时释放内存,使用intrustment

  3. 最简单的Tcp Udp的例子

    //1.WinSock包含2个主要的版本,即WinSock1和WinSock2.前者需要包含头文件WinSock.h和库文件wsock32.lib,后者需要包含头文件WinSock2.h和库文件ws2 ...

  4. having 子句

    having 子句-->过滤分组,用于限制分组显示结果 a.行已经被分组 b.使用了分组函数 c.满足having子句中条件的分组将被重写

  5. Android中实现app版本更新

    1,获取本地程序apk版本,并开启服务(下面这段代码一般在主Activity中的onCreate()方法中执行的,并开启后台服务下载新版本的apk) //获取apk包文件的管理者对象 PackageM ...

  6. java mybatis 框架下多种类型的参数传入到xml问题

    由于公司要求,最近从.net向java 转,然后过程中遇到各种奇葩问题,特在此随记一番. 场景:一个方法中有两个参数,一个List的集合,一个int 类型的参数,最初我在xml的sql参数,无论定义成 ...

  7. 夺命雷公狗ThinkPHP项目之----企业网站2之数据库的快速设计

    我们在一个项目的时候,花费最多事件的估计还是数据库的时间了,我们的数据库暂时就这样设计好了: 暂时我们的数据库就这样设计好了用下先,建好后如下所示:

  8. ThinkPHP讲解(五)——数据库配置及Model数据模型层、查询

    数据库配置 在TP框架中要进行连接数据库操作,要进行配置 要在convertion.php中找到“数据库配置”,并复制到项目配置文件config.php中 Model模型层制作 model:数据库中每 ...

  9. MySQL增删改查

    C/S:Client ServerB/S:Brower Server php主要实现B/S .net IIS java TomCat LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Ph ...

  10. [sinatra] Just Do It: Learn Sinatra, Part One Darren Jones

    1. Install sinatra gem gem install sinatra --no-ri --no-rdoc 2. Basic App #!/usr/bin/ruby require 's ...