`
izuoyan
  • 浏览: 8957903 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL日期推算...

SQL 
阅读更多

DECLARE @DT AS DATETIME
SET @DT = GETDATE()

SELECT CAST(CONVERT(VARCHAR(8),DATEADD(MONTH,(DATEPART(QUARTER,@DT)*3-MONTH(@DT)-2),@DT),120)+'01' AS DATETIME)
--Result--
2008-11-01

计算逻辑:
用当前的季度 * 每季度的月份数(3) - 当前月 - 季度中的2个月份

如: Date: 2008-11-06
季度: 4

计算: 4*3-11-2 = -1

根据计算的结用DATEADD 求合,对日期时行调整,得出当前季度的第一个月份,再拼接 ‘01’,得出当明季度的第一天。

通过变通我们可以得到季度最后一个月的第一天:

SELECT CAST(CONVERT(VARCHAR(8),DATEADD(MONTH,(DATEPART(QUARTER,@DT)*3-MONTH(@DT)),@DT),120)+'01' AS DATETIME)

本月的最后一天:

DECLARE @DT DATETIME
SET @DT=GETDATE()
SELECT DATEADD(DAY,-1,CONVERT(VARCHAR(8),DATEADD(MONTH,1,@DT),120)+'1')

--Result--
2008-11-30 00:00:00.000

另一个方法最本月最后一天,减去天数,变成上个月的最后一天,再加1月份,变成当前月的最后天

SELECT DATEADD(MONTH,1,DATEADD(DAY,-DAY(@DT),@DT))

分享到:
评论

相关推荐

    SQL日期操作日期推算处理

    SQL日期操作 SQL日期操作日期推算处理

    sqlserver日期推算(年,季度,月,星期推算) 源码

    sqlserver日期推算(年,季度,月,星期推算) 源码 sql源码

    经典SQL脚本大全

    │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ 2.5.3 工作日处理函数(标准节假日).sql │ │ 2.5.3 ...

    Sqlserver2000经典脚本

    │ 2.4.1 日期格式化处理.sql │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ ...

    SQL经典代码,查询表,存储过程语句查询,日期的推算,分拆列值等经典SQL源码及分析

    查询表,存储过程语句查询,日期的推算,分拆列值等经典SQL源码及分析...简练,易懂,学的快,用的快

    sqlserver经典脚本大全.zip

    2.4.2 日期推算处理 2.4.3 特殊日期加减函数 2.5.1 查询指定日期段内过生日的人员 2.5.2 生成日期列表的函数 2.5.3 工作日处理函数(标准节假日) 2.5.3 工作日处理函数(自定义节假日) 2.5.4 计算工作时间的函数 其他 ...

    SQL SERVER 获取年、季、月、周、日开始时间和结束时间

    Type 日期类型:(“-”为前一期间,无符号为当期,“+”为后一期间),Y 年,Q 季,M 月,W 周,D 日 例:前一年:-Y,当年:Y,+Y:下一年 datetype : ‘S’返回开始时间,'E'返回结束时间 datetime: 按哪个时间进行...

    SQL Server各种日期计算方法(收藏)

    通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个...

    SQL SERVER 2000开发与管理应用实例

    2.4 日期格式化与日期推算处理 34 2.4.1 日期格式化处理 34 2.4.2 日期推算处理 35 2.4.3 日期加减处理 38 2.5 日期处理实例 40 2.5.1 生日处理 40 2.5.2 生成日期列表 42 2.5.3 工作日处理 ...

    sqlserver2000基础(高手也有用)

    2.4 日期格式化与日期推算处理 34 2.4.1 日期格式化处理 34 2.4.2 日期推算处理 35 2.4.3 日期加减处理 38 2.5 日期处理实例 40 2.5.1 生日处理 40 2.5.2 生成日期列表 42 2.5.3 工作日处理 46 ...

    表的相关查询(最全面的查询语句集合)

    --日期推算处理 --特殊日期加减函数 --查询指定日期段内过生日的人员 --生成日期列表的函数 --工作日处理函数(标准节假日) --计算两个日期相差的工作天数 --在指定日期上,增加指定工作天数后的日期 --工作日处理函数...

    公历-农历日期对照数据

    通常情况下,由公历到农历日期的转换需要运用大量相关的数据,并经过复杂推算获得。这给软件开发造成了一定的困难。 ";;;公历-农历日期对照数据";;;提供了无论使用任何编程语言,通过对数据表的检索,...

    测试培训教材

    安装好SQL Server 2000后注意启动SQLServer服务器 3、安装QC9.0 服务器名称也可以是IP地址 4、启动QC9.0 5、QC9.0安装问题解决 - JBOSS启动不...

Global site tag (gtag.js) - Google Analytics