`
csstome
  • 浏览: 1508601 次
  • 性别: 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源码及分析...简练,易懂,学的快,用的快

    SQL语句范例-有关日期的函数

    虽然部分示例代码似乎是特定于Progress 4GL或类似编程环境的,但我们可以从中提炼出普遍适用的SQL日期函数原理和技巧。下面,我们将深入解析并解释这些函数的意义和应用场景。 ### 1. 获取年份的两位数字表示 函数...

    SQL 语言.docx

    - 根据当前时间推算学生的出生日期。 5. 多表查询示例: - 查询计算机系选修2门以上课程的学生学号。 - 找出至少选修一门课程的女学生姓名。 - 查询选修两门及以上课程的学生学号。 - 查询广义笛卡儿积、等值...

    sql获取上一周时间段

    为了获取上一周的起始日期,我们需要从当前日期向前推算到上一个星期天。这可以通过以下步骤完成: - 首先,确定当前日期与上周星期天之间的天数差: ```sql SELECT 1 - DATEPART(Weekday, CONVERT(varchar(10), ...

    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各种日期计算方法(收藏)

    在SQL Server中,日期计算是数据库操作中常见且重要的任务,尤其对于数据分析和报表生成。在本文中,我们将深入探讨如何使用`DATEADD`和`DATEDIFF`这两个关键函数来处理日期和时间。 `DATEDIFF`函数用于计算两个日...

    sql经典语句[收集].pdf

    在日期处理方面,文档涵盖了日期的概念理解、转换、格式化和推算。`CINVERT`函数用于日期转换,`SET DATEFORMAT`和`SET LANGUAGE`会影响日期处理的方式,提供不同的日期格式化选项。此外,还有日期加减函数、查询...

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

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

    JAVASCRIPT网页农历日期动态显示.pdf

    农历日期是中国传统的日期系统,基于农历的计算方式是非常复杂的,需要天文观测和推算。因此,使用JavaScript来实现农历日期的动态显示是一种非常实用的方法。 要使用该方法,首先需要将unarDate.js文件保存在网站...

    pb在sqlserver数据库下生成工作日历周数的数据窗口.zip

    在SQL Server中,这通常涉及到DATEPART和DATEADD函数的使用,通过这些函数可以计算出给定日期是该周的第几天,并进一步推算出周的最后一天。这样的函数对于确定工作周的边界尤其有用。 再者,`pb生成工作日历周的...

    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 工作日处理 ...

    导出近一个月的sql数据语句

    这意味着我们要确定一个合理的起始日期和结束日期,这两个日期通常会基于当前日期向前推算。 #### 2. 数据导出命令 对于数据库管理而言,导出数据是日常维护任务之一。在Oracle环境下,`EXP`命令是一种常用的方法来...

    获取指定两个日期之间的所以日期

    例如,假设数据库中表名为`asdfafa_`加上日期形式,如`asdfafa_***`,那么只需要根据生成的日期列表构造SQL查询语句,就可以获取到指定日期范围内的所有记录。 此外,Java的`Calendar`类是一个抽象类,它提供了很多...

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

    日期转换星期函数

    虽然描述较为复杂,但其核心思想是找到每个年份的“末日”,即那一年中某个特定月份的特定日期,然后根据末日推算出其他日期所在的星期。 另一种常见方法是使用Zeller's Congruence公式,这是一个基于模运算的简单...

    SQL经典命令(供新手学习)

    ### SQL经典命令解析 #### 一、获取当前周的起始日期 - **命令1**: ```sql SELECT DATEADD(Day,1-...通过以上命令的学习,初学者可以更好地理解SQL中日期处理的基本原理和常用技巧,从而提高数据操作的能力。

Global site tag (gtag.js) - Google Analytics