当前位置: 首页 > news >正文

SQL server 2008 获取当前年,季度 和月的最后一天

IF @DateThreshold IS NULL  
        SET @DateThreshold = CONVERT(DATE, GETDATE() - 1)

    DECLARE @Date DATE = @DateThreshold
  
    -- 获取年份和季度  
    DECLARE @Year INT = YEAR(@Date) 
    DECLARE @Quarter INT = (MONTH(@Date) - 1) / 3 + 1 
  
    -- 计算下季度的最后一个月份的第一天  
    DECLARE @FirstDayOfNextQuarter DATE = DATEADD(MONTH, @Quarter * 3, DATEADD(YEAR, @Year - 1900, 0))     
    DECLARE @LastDayOfQuarter DATE = DATEADD(DAY, -1, @FirstDayOfNextQuarter)
     -- 减去一天得到当前季度的最后一天  
    print(@LastDayOfQuarter)
 
    DECLARE @LastDayOfYear DATE = CAST(CAST(@Year AS VARCHAR) + '-12-31' AS DATE);
    print(@LastDayOfYear)
  
    -- 直接计算该月份的最后一天  
    DECLARE @LastDayOfMonth DATE = DATEADD(DAY, -1, DATEADD(MONTH, 1, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0)))
    print(@LastDayOfMonth)

    -- 直接计算上1个月份的最后一天  
    DECLARE @LastDayOf1Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, 0, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0))) 
    print(@LastDayOf1Month)

    -- 直接计算上2个月份的最后一天  
    DECLARE @LastDayOf2Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -1, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0)))  
    print(@LastDayOf2Month)

    -- 直接计算上3个月份的最后一天  
    DECLARE @LastDayOf3Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -2, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0)))
    print(@LastDayOf3Month)

    -- 直接计算上4个月份的最后一天  
    DECLARE @LastDayOf4Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -3, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0))) 
    print(@LastDayOf4Month)

    -- 直接计算上5个月份的最后一天  
    DECLARE @LastDayOf5Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -4, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0)))
    print(@LastDayOf5Month)

    -- 直接计算上6个月份的最后一天  
    DECLARE @LastDayOf6Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -5, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0))) 
    print(@LastDayOf6Month)

    -- 直接计算上7个月份的最后一天  
    DECLARE @LastDayOf7Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -6, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0))) 
    print(@LastDayOf7Month)

    -- 直接计算上8个月份的最后一天  
    DECLARE @LastDayOf8Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -7, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0)))
    print(@LastDayOf8Month)

    -- 直接计算上9个月份的最后一天  
    DECLARE @LastDayOf9Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -8, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0)))
    print(@LastDayOf9Month)

    -- 直接计算上10个月份的最后一天  
    DECLARE @LastDayOf10Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -9, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0))) 
    print(@LastDayOf10Month)

    -- 直接计算上11个月份的最后一天  
    DECLARE @LastDayOf11Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -10, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0))) 
    print(@LastDayOf11Month)

    -- 直接计算上12个月份的最后一天  
    DECLARE @LastDayOf12Month DATE = DATEADD(DAY, -1, DATEADD(MONTH, -11, DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 0))) 
    print(@LastDayOf12Month)
 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 游戏开发设计模式之装饰模式
  • Java新版主要特性|2024年最后一个版本即将到来
  • DataWhale AI夏令营 2024大运河杯-数据开发应用创新赛-task2
  • 源代码防泄露迎来信创时代:信创沙箱
  • 数据分析之Python对数据分组排序
  • TESSY创建单元测试或集成测试工程
  • 基于NNG的六种通信模式
  • 【运维类】信息化项目运维方案(word)
  • day44——C++对C的扩充
  • Spring(面试篇)
  • Linux:SQLite 数据库
  • #QT 笔记一
  • Linux实操笔记1 向服务器出发:连接和登录
  • 大模型LLM的Token相关问题:模型不同,token计算不同,gpt对token的计算,我们如何选择token及token评估模型
  • APP自动化测试思路整理,跟着步骤快速撸码...
  • Angular 4.x 动态创建组件
  • js算法-归并排序(merge_sort)
  • Leetcode 27 Remove Element
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • 分类模型——Logistics Regression
  • 规范化安全开发 KOA 手脚架
  • 缓存与缓冲
  • 记录一下第一次使用npm
  • 将 Measurements 和 Units 应用到物理学
  • 配置 PM2 实现代码自动发布
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 怎么将电脑中的声音录制成WAV格式
  • 7行Python代码的人脸识别
  • 交换综合实验一
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • # Maven错误Error executing Maven
  • # Redis 入门到精通(七)-- redis 删除策略
  • # Redis 入门到精通(一)数据类型(4)
  • $.ajax()方法详解
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (Python) SOAP Web Service (HTTP POST)
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二) 初入MySQL 【数据库管理】
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转载)从 Java 代码到 Java 堆
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .Net mvc总结
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .net对接阿里云CSB服务
  • .NET正则基础之——正则委托
  • .pub是什么文件_Rust 模块和文件 - 「译」