文档章节

SQLServer学习笔记系列3

CoderPeng
 CoderPeng
发布于 2015/11/17 11:36
字数 1029
阅读 8
收藏 0

一.写在前面的话

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

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

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

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

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

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

结果如图所示:

 

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

(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'取出年月'

结果如图:

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

 

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

 

本文转载自:http://www.cnblogs.com/liupeng61624/p/4375135.html

CoderPeng
粉丝 0
博文 140
码字总数 78649
作品 0
青浦
程序员
私信 提问
php连接sqlserver2005

为了php连接sql2005 ,我在网络上找了一大堆资料在我的csdn博客中.晚上3:05分时候终于搞定了 php连接sql2005的问题,现在整合,同时把FAQ整合上. 我前面写的教程: 连接前配置系统: 1.检查文件 ...

charley158
2014/01/02
104
1
【用jersey构建REST服务】系列文章

1.用Jersey构建RESTful服务1--HelloWorldhttp://www.waylau.com/jersey-restful-helloworld/2.用Jersey构建RESTful服务2--JAVA对象转成XML输出http://www.waylau.com/jersey-restful-java-x......

waylau
2014/08/23
1K
1
在Linux上使用环境变量配置SQL Server设置

你可以使用不同的环境变量在Linux上配置SQL Server 2017。这些变量用于两个场景: 使用mssql-conf setup命令配置初始化设置。 配置一个新的Docker容器中的SQL Server。 环境变量 示例:初始设...

UltraSQL
2018/07/30
0
0
Win7 + Python3.6 + Django2.1 + MS SqlServer 2008配置

最近开始学习Django,开发环境为Win7 + Python3.6 + Django2.1 + MS SqlServer。本篇文章记录在配置过程中碰到的各种问题以及解决方法。 一. 安装开发环境 1. 安装Python 到官网 https://ww...

dillonxiao
06/25
176
0
在Linux上使用mssql-conf工具配置SQL Server 2017

在Linux上使用mssql-conf工具配置SQL Server 2017 mssql-conf是在Linux上安装SQL Server 2017后的一个配置脚本。你可以使用这个实用工具设置以下参数: 使用贴士: l 对于AlwaysOn可用性组和...

UltraSQL
2018/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis 源码(二)Mybatis 初始化

Mybatis 初始化是由SqlSessionFactoryBuilder来完成的,主要的工作解析XML文件,并将解析的类容封装到Configuration类中,最后将Configuration类封装到SqlSessionFactory中并返回,自此初始化...

xiaolyuh
19分钟前
7
0
约瑟夫环问题

约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,...

mskk
28分钟前
3
0
JEP解读与尝鲜系列1 - Java Valhalla与Java Inline class

涉及到的JEP: Project Valhalla JEP 169: Value Objects JEP 218: Generics over Primitive Types 这些特性将在JDK14实现 Valhalla项目背景 最主要的一点就是,让Java适应现代硬件:在Java语...

zhxhash
31分钟前
8
0
总结:Redis集群

一、redis集群方案 Master-slave方式,Master和Slave的数据一致,Slave从Master同步数据,然后通过Sentinal(哨兵)监控Master和Slave的健康状态,当异常的时候迅速切换,如Master宕机的时候...

浮躁的码农
34分钟前
5
0
三个盘子的汉诺塔

package base;/** * 汉诺塔 */public class TowerApp { static int nDisks = 3; public static void main(String[] args) { doTowers(nDisks, 'A','B',......

clean123
35分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部