`
天空之城
  • 浏览: 405501 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

日期推算处理

阅读更多
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日期操作日期推算处理

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

    c#日期推算

    标签"日期推算c#"涵盖了更广泛的内容,包括但不限于计算两个日期之间的差值、获取特定日期的星期几、格式化日期字符串、处理时区转换等。所有这些都可以通过`DateTime`结构提供的方法来实现。 至于文件名"年月日...

    C语言编程:一个日期推算的程序

    根据给定的信息,我们可以分析并总结出以下与“C语言编程:一个日期推算的程序”相关的知识点: ### 一、程序概述 该程序的主要功能是实现日期之间的天数差计算。用户输入两个日期(年月日),程序将计算这两个...

    日期推算器V1.0(时间计算器)

    总的来说,“日期推算器V1.0(时间计算器)”是一个利用C++语言特性的高效日期计算工具,通过面向对象的设计和优秀的编码风格,为开发者提供了便利的日期处理功能。对于学习C++编程以及日期时间处理的初学者,这个...

    sqlserver经典脚本大全.zip

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

    calendar 日期推算

    在`Calendar.txt`文件中,可能包含了一些实际的例子,展示了如何使用`Calendar`进行日期推算。例如,你可能会看到如何从当前日期开始,增加或减少指定的天数,或者在特定日期上加上或减去一周等。 总的来说,`...

    日期计算器测试计划1

    测试的主要目标是验证日期计算器的核心功能,即计算两个日期之间的差值以及推算未来日期,同时考虑异常输入情况,保证程序的稳定性和准确性。 **测试需求** 1. **功能性需求测试**: - 验证日期计算器是否能准确...

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

    时间推算器

    3. **日期推算算法**:为了计算任意两个日期之间的天数,程序需要实现一个高效的算法。这通常涉及到加减运算,以及处理跨越闰年的情况。 4. **星期推算**:计算给定日期是星期几需要运用到蔡勒公式(Zeller's ...

    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.1 日期格式化处理.sql │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.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 ...

    软件测试技术实验报告 (2).docx

    实验以“日期推算”程序为例,该程序接收一个日期作为输入,然后输出这个日期之后的两天日期。例如,输入2014年1月1日,程序应返回2014年1月3日。在测试过程中,我们假设不考虑闰年的情况,2月始终为28天,且只接受...

    时间推算器.rar

    “时间推算器”是一个能够处理日期和时间的工具,它不仅能够计算出几百亿年内的日期,还能提供星期和天数的推算。这一功能的实现基于精确的日期和时间计算算法,以及对日历规则的深入理解。在我们的日常生活中,这样...

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

    #### 日期推算处理 - 示例:`SELECT DATEADD(DAY, 7, GETDATE());` #### 特殊日期加减函数 - 示例:`SELECT EOMONTH(GETDATE());` #### 查询指定日期段内过生日的人员 - 示例:`SELECT * FROM Employees WHERE ...

    利用Excel公式推算出指定年份的母亲节和父亲节日期.rar

    在提供的压缩包文件“15.18 推算出指定年份的母亲节和父亲节日期.xls”中,应该包含了这些公式的实际应用,你可以打开文件查看并测试这些公式,以更直观地理解其工作原理。 通过这样的方法,Excel不仅是一个数据...

    日期计算器

    4. **日期运算**:程序需要支持日期的加减运算,比如计算两个日期之间的天数差或向后推算某一天。 5. **用户界面**:MFC库提供了丰富的控件和框架,用于创建图形用户界面(GUI)。在这个项目中,可能会使用对话框类...

    卫星星历推算工具

    卫星星历推算工具,正如其名,是一种专门用于处理卫星轨道数据并进行预测计算的软件。它能够帮助用户导入卫星的公开星历,通过精密的数学模型,计算出卫星在特定时刻的高度、经度、纬度,以及相对于地球上固定地点的...

    根据任意输入的日期,得出星期几(2KB)

    标题中的“根据任意输入的日期,得出星期几”是一个典型的日期处理问题,它涉及到计算机编程中的日期和时间计算。在编程领域,我们通常会利用特定的函数或库来解决这样的问题。这个程序可能是用于帮助用户查询任何...

    时间-日期 时间-日期

    1. **日期计算**:在项目中,我们经常需要计算两个日期之间的差值,或是根据当前日期向前或向后推算一定天数的日期。这在财务结算、合同到期提醒、数据分析等领域尤为重要。 2. **时区处理**:全球化的应用需要处理...

Global site tag (gtag.js) - Google Analytics