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日期操作日期推算处理
sqlserver日期推算(年,季度,月,星期推算) 源码 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.4.1 日期格式化处理.sql │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ ...
查询表,存储过程语句查询,日期的推算,分拆列值等经典SQL源码及分析...简练,易懂,学的快,用的快
虽然部分示例代码似乎是特定于Progress 4GL或类似编程环境的,但我们可以从中提炼出普遍适用的SQL日期函数原理和技巧。下面,我们将深入解析并解释这些函数的意义和应用场景。 ### 1. 获取年份的两位数字表示 函数...
- 根据当前时间推算学生的出生日期。 5. 多表查询示例: - 查询计算机系选修2门以上课程的学生学号。 - 找出至少选修一门课程的女学生姓名。 - 查询选修两门及以上课程的学生学号。 - 查询广义笛卡儿积、等值...
为了获取上一周的起始日期,我们需要从当前日期向前推算到上一个星期天。这可以通过以下步骤完成: - 首先,确定当前日期与上周星期天之间的天数差: ```sql SELECT 1 - DATEPART(Weekday, CONVERT(varchar(10), ...
2.4.2 日期推算处理 2.4.3 特殊日期加减函数 2.5.1 查询指定日期段内过生日的人员 2.5.2 生成日期列表的函数 2.5.3 工作日处理函数(标准节假日) 2.5.3 工作日处理函数(自定义节假日) 2.5.4 计算工作时间的函数 其他 ...
在SQL Server中,日期计算是数据库操作中常见且重要的任务,尤其对于数据分析和报表生成。在本文中,我们将深入探讨如何使用`DATEADD`和`DATEDIFF`这两个关键函数来处理日期和时间。 `DATEDIFF`函数用于计算两个日...
在日期处理方面,文档涵盖了日期的概念理解、转换、格式化和推算。`CINVERT`函数用于日期转换,`SET DATEFORMAT`和`SET LANGUAGE`会影响日期处理的方式,提供不同的日期格式化选项。此外,还有日期加减函数、查询...
Type 日期类型:(“-”为前一期间,无符号为当期,“+”为后一期间),Y 年,Q 季,M 月,W 周,D 日 例:前一年:-Y,当年:Y,+Y:下一年 datetype : ‘S’返回开始时间,'E'返回结束时间 datetime: 按哪个时间进行...
农历日期是中国传统的日期系统,基于农历的计算方式是非常复杂的,需要天文观测和推算。因此,使用JavaScript来实现农历日期的动态显示是一种非常实用的方法。 要使用该方法,首先需要将unarDate.js文件保存在网站...
在SQL Server中,这通常涉及到DATEPART和DATEADD函数的使用,通过这些函数可以计算出给定日期是该周的第几天,并进一步推算出周的最后一天。这样的函数对于确定工作周的边界尤其有用。 再者,`pb生成工作日历周的...
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 工作日处理 ...
这意味着我们要确定一个合理的起始日期和结束日期,这两个日期通常会基于当前日期向前推算。 #### 2. 数据导出命令 对于数据库管理而言,导出数据是日常维护任务之一。在Oracle环境下,`EXP`命令是一种常用的方法来...
例如,假设数据库中表名为`asdfafa_`加上日期形式,如`asdfafa_***`,那么只需要根据生成的日期列表构造SQL查询语句,就可以获取到指定日期范围内的所有记录。 此外,Java的`Calendar`类是一个抽象类,它提供了很多...
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 ...
虽然描述较为复杂,但其核心思想是找到每个年份的“末日”,即那一年中某个特定月份的特定日期,然后根据末日推算出其他日期所在的星期。 另一种常见方法是使用Zeller's Congruence公式,这是一个基于模运算的简单...
### SQL经典命令解析 #### 一、获取当前周的起始日期 - **命令1**: ```sql SELECT DATEADD(Day,1-...通过以上命令的学习,初学者可以更好地理解SQL中日期处理的基本原理和常用技巧,从而提高数据操作的能力。