当前位置:首页 > 系统运维 > 正文内容

SQL Server 日期操作全接触的实际操作流程

a8116255316年前 (2010-06-28)系统运维11

我们今天主要向大家描述的是SQL Server 日期操作全接触的实际操作流程,以及对SQL Server 日期操作全接触的实际操作中要用到的相关代码的描述,以下就是文章的主要内容的具体描述。

DECLARE @dt datetime  SET @dt=GETDATE()  DECLARE @dt datetime  SET @dt=GETDATE()  DECLARE @number int  SET @number=3 

1.指定日期该年的之一天或最后一天

A. 年的之一天

SELECT CONVERT(char(5),@dt,120)+'1-1' 

B. 年的最后一天

SELECT CONVERT(char(5),@dt,120)+'12-31' 

2.指定日期所在季度的之一天或最后一天

A. 季度的之一天

SELECT CONVERT(datetime,  CONVERT(char(8),  DATEADD(Month,  DATEPART(Quarter,@dt)*3-Month(@dt)-2,  @dt),  120)+'1') 

B. 季度的最后一天(CASE判断法)

SELECT CONVERT(datetime,  CONVERT(char(8),  DATEADD(Month,  DATEPART(Quarter,@dt)*3-Month(@dt),  @dt),  120)  +CASE WHEN DATEPART(Quarter,@dt) in(1,4)  THEN '31'ELSE '30' END) 

C. 季度的最后一天(直接推算法)

SELECT DATEADD(Day,-1,  CONVERT(char(8),  DATEADD(Month,  1+DATEPART(Quarter,@dt)*3-Month(@dt),  @dt),  120)+'1') 

3.指定日期所在月份的之一天或最后一天

A. 月的之一天

SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1') 

B. 月的最后一天

SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1') 

C. 月的最后一天(容易使用的错误 *** )

SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt)) 

4.指定日期所在周的任意一天

SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt) 

5.指定日期所在周的任意星期几

A. 星期天做为一周的第1天

SQL Server 日期操作全接触时间:2009-11-18 17:28:35来源: *** 作者:未知 点击:68次

DECLARE @dt datetime  SET @dt=GETDATE()  DECLARE @dt datetime  SET @dt=GETDATE()  DECLARE @number int  SET @number=3 

1.指定日期该年的之一天或最后一天

A. 年的之一天

SELECT CONVERT(char(5),@dt,120)+'1-1'

B. 年的最后一天

SELECT CONVERT(char(5),@dt,120)+'12-31'

2.指定日期所在季度的之一天或最后一天

A. 季度的之一天

SELECT CONVERT(datetime,  CONVERT(char(8),  DATEADD(Month,  DATEPART(Quarter,@dt)*3-Month(@dt)-2,  @dt),  120)+'1') 

B. 季度的最后一天(CASE判断法)

SELECT CONVERT(datetime,  CONVERT(char(8),  DATEADD(Month,  DATEPART(Quarter,@dt)*3-Month(@dt),  @dt),  120)  +CASE WHEN DATEPART(Quarter,@dt) in(1,4)  THEN '31'ELSE '30' END) 

C. 季度的最后一天(直接推算法)

SELECT DATEADD(Day,-1,  CONVERT(char(8),  DATEADD(Month,  1+DATEPART(Quarter,@dt)*3-Month(@dt),  @dt),  120)+'1') 

3.指定日期所在月份的之一天或最后一天

A. 月的之一天

SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')

B. 月的最后一天

SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')

C. 月的最后一天(容易使用的错误 *** )

SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))

4.指定日期所在周的任意一天

SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)

5.指定日期所在周的任意星期几

A. 星期天做为一周的第1天

SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRst-1)%7,@dt)

B. 星期一做为一周的第1天

SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)

以上的相关内容就是对SQL Server 日期操作全接触的介绍,望你能有所收获。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/21291.html

分享给朋友:

“SQL Server 日期操作全接触的实际操作流程” 的相关文章

Windows7开机后出现黑一下屏性能降低

Windows7开机后出现黑一下屏性能降低

打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...

Skylake平台不能通过USB接口装windows 7系统

Skylake平台不能通过USB接口装windows 7系统

Intel会在2015年推出Broadwell、Skylake两代14nm处理器,前者可以使用9系芯片组,Skylake升级到了LGA1151插槽,需要搭配新的100系列芯片组,但初期的Skylake-S又不能超倍频,所以今年Q2季度开始会很混杂。Skylake一代会支持DDR4,100系列芯片组升...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

windows 7系统重装后卡在正在启动Windows开机界面怎么办

windows 7系统重装后卡在正在启动Windows开机界面怎么办

重装系统是我们面对许多电脑问题时的终极方法,不过重装系统也不意味着就能将全部的问题都修复。一些用户在重装系统后开机时,电脑卡在“正在启动Windows”开机界面上了,这要怎么解决呢? Windows 7系统重装后卡在开机界面的解决方法: 一、首先可以看看该故障出现的原因是否是因为启动了acp...

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...

windows 7系统怎么取消禁ping命令?

windows 7系统怎么取消禁ping命令?

当我在虚拟机的linux系统中ping本机的ip发现ping不通,而本机可以ping通虚拟机中的ip。应该是出于安全考虑吧,Windows 7默认在防火墙里禁止了。 1、查看主机ip 打开“开始”程序中的“附件”,找到“命令提示符”打开。输入命令:ipconfig,可以看到本机的ip是192.1...