1. DECLARE@dtdatetime
  2. SET@dt=GETDATE()
  3.  
  4. DECLARE@numberint
  5. SET@number=3
  6.  
  7. --1.指定日期该年的第一天或最后一天
  8. --A. 年的第一天
  9. SELECTCONVERT(char(5),@dt,120)+'1-1'
  10.  
  11. --B. 年的最后一天
  12. SELECTCONVERT(char(5),@dt,120)+'12-31'
  13.  
  14. --2.指定日期所在季度的第一天或最后一天
  15. --A. 季度的第一天
  16. SELECTCONVERT(datetime,
  17. CONVERT(char(8),
  18. DATEADD(Month,
  19. DATEPART(Quarter,@dt)*3-Month(@dt)-2,
  20. @dt),
  21. 120)+'')
  22.  
  23. SELECT DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0)
  24.  
  25. --B. 季度的最后一天(CASE判断法)
  26. SELECTCONVERT(datetime,
  27. CONVERT(char(8),
  28. DATEADD(Month,
  29. DATEPART(Quarter,@dt)*3-Month(@dt),
  30. @dt),
  31. 120)
  32. +CASEWHENDATEPART(Quarter,@dt) in(1,4)
  33. THEN''ELSE''END)
  34.  
  35. --C. 季度的最后一天(直接推算法)
  36. SELECTDATEADD(Day,-1,
  37. CONVERT(char(8),
  38. DATEADD(Month,
  39. 1+DATEPART(Quarter,@dt)*3-Month(@dt),
  40. @dt),
  41. 120)+'')
  42.  
  43. --3.指定日期所在月份的第一天或最后一天
  44. --A. 月的第一天
  45. SELECTCONVERT(datetime,CONVERT(char(8),@dt,120)+'')
  46.  
  47. --B. 月的最后一天
  48. SELECTDATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'')
  49.  
  50. --C. 月的最后一天(容易使用的错误方法)
  51. SELECTDATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))
  52.  
  53. --4.指定日期所在周的任意一天
  54. SELECTDATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)
  55.  
  56. --5.指定日期所在周的任意星期几
  57. --A. 星期天做为一周的第1
  58. SELECTDATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)
  59.  
  60. --B. 星期一做为一周的第1
  61. SELECTDATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)

SQL Server学习记录之获取每月每季度每年第一天和最后一天的更多相关文章

  1. 【SQL Server 学习系列】-- 获取字符串中出现某字符的次数及字符某次出现的下标

    ) = '1_BB_CC_DD_AA_EE_YY_WW_HH_GG' --// 1. 获取下划线在字符串中出现的次数 SELECT LEN(@Str) - LEN(REPLACE(@Str, '_', ...

  2. 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期

    腾讯云图片鉴黄集成到C#   官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...

  3. SQL SERVER 2005中如何获取日期(一个月的最后一日、上个月第一天、最后一天、一年的第一日等等)

    原文:[转]SQL SERVER 2005中如何获取日期(一个月的最后一日.上个月第一天.最后一天.一年的第一日等等) 在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天       ...

  4. SQL server学习(三)T-SQL编程、逻辑控制语句和安全模式

    T-SQL编程 T-SQL编程与C语言类似,只是语法稍有不同而已,总体思想还是没有变化的.多的就不说了,还是从变量开始. 变量也分为全局变量和局部变量,表示方式稍有不同. 局部变量: 局部变量必须以标 ...

  5. oracle 、mysql、 sql server使用记录

    oracle .mysql. sql server使用记录 mysql常用命令: mysqld --启动mysql数据库 show databases; -- 查看数据库 use database; ...

  6. SQL Server 学习博客分享列表(应用式学习 + 深入理解)

    SQL Server 学习博客分享列表(应用式学习 + 深入理解) 转自:https://blog.csdn.net/tianjing0805/article/details/75047574 SQL ...

  7. 【SQL Server学习笔记】Delete 语句、Output 子句、Merge语句

    原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.obj ...

  8. SQL server学习

    慕课网sql server学习 数据库第一印象:desktop--web server--database server** 几大数据库:sql server.oracle database.DB2. ...

  9. sql server学习路径地址

    联机丛书2005:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2005/ms130214(v=sql.90) 联 ...

随机推荐

  1. Oracle单节点_Grid_Infrastructure_DB_安装过程图解(二/三)

    接上文 Oracle单节点_Grid_Infrastructure_DB_安装过程图解(一/三) 接下来,进行Grid Infrastructure 部分的安装:

  2. PostgreSQL内存使用增长观察

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页 [作者 高健@博客园  luckyjackga ...

  3. exBSGS学习笔记

    exBSGS学习笔记 Tags:数学 题目的话就做下洛谷的模板好了 // luogu-judger-enable-o2 #include<algorithm> #include<io ...

  4. 在CMD 中,如何切换python2.x 版本 和 python3.x版本?

    1.cmd中输入python,启动python2.x版本,如何切换呢? 2.找到python2.x安装路径,修改python.exe名称为:python27.exe 3. 打开cmd,输入python ...

  5. JAVA中使用RSA通过秘钥文件对字符串进行加密解密

    技术交流群: 233513714 //字符串进行加密算法的名称 public static final String ALGORITHM = "RSA"; //字符串进行加密填充的 ...

  6. 复杂值vs原始值&&内存空间

    写在前面 最近在读<JavaScript启示录>,这本书不是JavaScript的详尽的参考指南,但是把对象作为了解JavaScript的透镜,受益匪浅. 那么我们先来聊一下JavaScr ...

  7. SecureCRT 用法总结

    SecureCRT 用法总结   1.下载与破解方法: Mac:https://www.jianshu.com/p/9427f12b1fdb Window:https://drive.google.c ...

  8. Python读取文件编码解码问题

    用chardet检测编码 import chardet raw = open("model.json", 'rb').read() result = chardet.detect( ...

  9. mysql 数据库备份和恢复

    物理备份对比逻辑备份 物理备份是指直接复制包含数据的文件夹和文件.这种类型的备份适用于大数据量且非常重要,遇到问题需要快速回复的数据库. 逻辑备份保存能够代表数据库信息的逻辑结构(CREATE DAT ...

  10. Flink架构分析之Standalone模式启动流程

    概述 FLIP6 对Flink架构进行了改进,引入了Dispatcher组件集成了所有任务共享的一些组件:SubmittedJobGraphStore,LibraryCacheManager等,为了保 ...