`

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

阅读更多

DECLARE @dt datetime
SET @dt=GETDATE()

DECLARE @number int
SET @number=3


--1.指定日期该年的第一天或最后一天
--第一天为1月1日、最后一天为12月31日都是固定的

--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')


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

 

http://www.cnblogs.com/aierong

 

 

分享到:
评论

相关推荐

    SqlServer日期处理函数

    ### SqlServer 日期处理函数详解 #### 概述 SqlServer 提供了一系列强大的日期处理函数,这些函数可以帮助开发者和数据库管理员高效地操作日期和时间数据。本文档将详细介绍几个常用的日期处理函数及其应用场景,并...

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

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

    sql server提取日期的部分

    总之,`DATEPART`和`DATENAME`函数在SQL Server中提供了强大的日期和时间处理能力,它们能够帮助你轻松地从日期字段中提取出所需的年、月、日、周、时、分、秒等信息,并以整数或字符串的形式呈现。在处理日期相关的...

    SQL Server中日期问题的解决

    例如,如果希望找出所有日期为2004年12月19日的数据记录,则可以使用以下SQL语句: ```sql SELECT * FROM YourTable WHERE DateDiff(dd, DateTimeColumn, '12/19/2004') = 0; ``` 这里的`dd`表示天数,`DateTime...

    SQL Server各种日期计算

    在SQL Server中,默认情况下,日期的开始是1900年1月1日,时间的开始是00:00:00.000。因此,很多日期相关的计算都会以这个时间点作为参考。 文章中提到了一个非常实用的技术点:系统中星期的第一天(DATEFIRST)的...

    SQL日期操作日期推算处理

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

    SQLServer获取2020年节假日列表.zip

    首先,我们来看标题"SQLServer获取2020年节假日列表",它暗示了我们将学习如何在SQL Server中创建一个存储2020年节假日的表,并且可能涉及到如何动态地获取这些数据。在SQL Server中,我们可以创建一个包含所有公共...

    sqlserver sql 根据出生日期生成年龄

    sqlserver sql 根据出生日期生成年龄 去

    SQL Server 查询两个日期之间的所有月份

    在SQL Server中,查询两个日期之间的所有月份是一个常见的需求,特别是在数据分析、报表生成或时间序列分析等场景。本文将详细讲解如何使用SQL Server实现这一功能,以满足上述标题和描述中的要求。 首先,我们需要...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    1.SQL Server 2014简介.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录....

    SQL Server 日期函数的使用

    在sql server中日期的处理对于大多数人来说是一个很头疼的问题,现在这篇文档中包含了所有的日期函数以及日期显示语句,希望对你有所帮助。

    SQL Server日期格式大全

    用于SQL Server 数据库查询时的时间格式化语句

    SQLSERVER时间日期函数详解

    SQLSERVER 时间日期函数详解 SQL Server 提供了多种时间日期函数,帮助开发者快速处理日期和时间相关的操作。下面将对这些函数进行详解,并提供示例。 1. GetDate() 函数 GetDate() 函数用于返回当前系统的日期和...

    SqlServer连接工具

    SQL Server连接工具是数据库管理员和开发人员用于与Microsoft SQL Server交互的重要软件。这些工具提供了多种功能,包括数据库的创建、管理、查询、备份、恢复以及性能优化等。在本篇文章中,我们将深入探讨SQL ...

    [SQL Server] Microsoft SQL Server 2012 技术内幕 (英文版)

    ☆ 资源说明:☆ [Microsoft Press] Microsoft SQL Server 2012 技术内幕 (英文版) [Microsoft Press] Microsoft SQL Server ...[出版日期] 2013年12月09日 [图书页数] 982页 [图书语言] 英语 [图书格式] PDF 格式

    sql server2019安装包

    SQL Server 2019是Microsoft推出的一款关系型数据库管理系统,是SQL Server系列中的一个重要版本。它提供了强大的数据存储、处理和分析能力,广泛应用于企业级数据库应用开发和数据分析。在本安装包中,主要包含的是...

    sql server 日期类型代号图片

    sql server 日期类型代号图片

    SQLServer获取2019年节假日列表

    标题“SQLServer获取2019年节假日列表”表明我们需要关注的是如何在SQL Server中查询并提取特定年份,比如2019年的公共假期信息。这通常涉及到设计日期表、编写查询脚本以及可能使用内置或自定义函数来实现。 首先...

    SQLServer时间日期函数详解.doc

    SQL Server 提供了丰富的日期时间函数,用于处理和操作日期和时间数据。这些函数可以帮助开发人员在数据库查询和应用程序中执行各种日期和时间计算。以下是SQL Server中一些主要的时间日期函数的详细解释: 1. **...

    SQL Server Native Client 10.0

    在SQL Server 2012中,虽然主要推荐使用SQL Server Native Client 11.0,但为了兼容旧版本的SQL Server,如SQL Server 2000,仍然需要使用SQL Server Native Client 10.0。 **1. ODBC与OLE DB接口** - **ODBC**: ...

Global site tag (gtag.js) - Google Analytics