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

--1.指定日期该年的第一天或最后一天
--第一天为1月1日、最后一天为12月31日都是固定的

--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')

--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)

最新文章

  1. MyEclipse常用插件使用教程
  2. Query Designer中的特征限制(Characteristic Restrictions)、缺省值(Default Values)、自由特性(Free Characteristics)
  3. Android Hotpatch系列之-项目介绍
  4. C# 我理解的接口、抽象类、以及事件
  5. textview点击后selector的pressed无效果
  6. 为什么我刚发表的文章变成了“待审核”,csdn有没有官方解释啊
  7. HDOJ/HDU 1865 1sting(斐波拉契+大数~)
  8. iOS单元测试(作用及入门提升)
  9. maven GroupID和ArtifactID填什么
  10. react学习笔记-02
  11. pdf 电子书分享
  12. Andorid第三方库
  13. hdu 2888 二维RMQ模板题
  14. python __call__或者说func()()的理解
  15. CF666E Forensic Examination [后缀自动机,线段树合并]
  16. 利用Github免费搭建个人主页(转)
  17. 旋转数组的最小数字(JAVA)
  18. Linux 下安装 tomcat
  19. AJAX方式发送远程请求报错:No 'Access-Control-Allow-Origin' header
  20. Jmeter进阶篇之保存测试结果

热门文章

  1. Golang构建HTTP服务(一)--- net/http库源码笔记
  2. 利用Azure Media Services Explorer发布VOD视频
  3. Redis 创建多个端口 链接redis端口
  4. HTTP协议(1)-------- 网络编程
  5. python学习笔记4--函数/全局变量/递归
  6. 浏览器内核控制meta name="renderer" 说明文档
  7. Metrics.NET实践(1)
  8. Mycat从入门到放弃
  9. bzoj1485 有趣的数列
  10. 【CodeForces】961 F. k-substrings 字符串哈希+二分