`
xiaoer_1982
  • 浏览: 1882640 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

报表中常用到的日期计算方式(个人小结),陆续更新

阅读更多

--------------------------------------------

--标题:报表中常用到的日期计算方式

--作者:htl258(Tony)

--日期:-09-21 02:30

--转载请保留此信息

--------------------------------------------

DECLARE @dt DATETIME

SET @dt='2009-09-20'

--1.1 求本月的第天:

SELECT DATEADD(mm,DATEDIFF(mm,0,@dt),0) --2009-09-01 00:00:00.000

--1.2 求本月的最后天:

SELECT DATEADD(mm,DATEDIFF(mm,0,@dt)+1,0)-1 --2009-09-30 00:00:00.000

--2.1.1 求本周的第一天(周日为第一天):两种方法

SELECT DATEADD(wk,DATEDIFF(wk,0,@dt),0)-1 --2009-09-20 00:00:00.000

SELECT @dt+1-DATEPART(w,@dt+@@datefirst) --2009-09-20 00:00:00.000

--2.1.2 求本周的第一天(周一为第一天):

SELECT @dt+1-DATEPART(w,@dt+@@datefirst-1) --2009-09-14 00:00:00.000

--2.2 求本周的最后一天(在本周第一天的基础上加)

--2.3.1 求本周的第一个工作日(周日为第一天):两种方法

SELECT DATEADD(wk,DATEDIFF(wk,0,@dt),0) --2009-09-21 00:00:00.000

SELECT @dt+2-DATEPART(w,@dt+@@datefirst) --2009-09-21 00:00:00.000

--2.3.2 求本周的第一个工作日(周一为第一天):

SELECT @dt+1-DATEPART(w,@dt+@@datefirst-1) --2009-09-14 00:00:00.000

--2.4 求本周的最后一个工作日(在第一个工作日的基础上加)

--2.5 求本月的第一个星期一:

SELECT DATEADD(wk,DATEDIFF(wk,0,DATEADD(dd,6-DATEPART(dd,@dt),@dt)),0)

--2009-09-07 00:00:00.000

--3.1 求本年的第一天:

SELECT DATEADD(yy,DATEDIFF(yy,0,@dt),0) --2009-01-01 00:00:00.000

--3.2 求本年的最后一天:

SELECT DATEADD(yy,DATEDIFF(yy,0,@dt)+1,0)-1 --2009-12-31 00:00:00.000

--4.1 求本季度的第一天:

SELECT DATEADD(qq,DATEDIFF(qq,0,@dt),0) --2009-07-01 00:00:00.000

--4.2 求本季度的最后一天:

SELECT DATEADD(qq,DATEDIFF(qq,0,@dt)+1,0)-1 --2009-09-30 00:00:00.000

--5.1 求半年度的第一天:

SELECT DATEADD(mm,DATEDIFF(mm,0,DATEADD(mm,-(MONTH(@dt)-1)%6,@dt)),0)

--2009-07-01 00:00:00.000

--5.2 求半年度的最后一天:

SELECT DATEADD(mm,DATEDIFF(mm,0,DATEADD(mm,-(MONTH(@dt)-1)%6+6,@dt)),0)-1

--2009-12-31 00:00:00.000

分享到:
评论

相关推荐

    开发BS软件中常用到 JavaScript 代码

    开发BS软件中常用到 JavaScript 代码,开发BS软件中常用到 JavaScript 代码,开发BS软件中常用到 JavaScript 代码

    大学英语写作中常用到的句子

    在大学英语写作中,熟练运用各种表达方式可以使文章更加生动、有力。以下是一些常见的句子结构和表达,它们涵盖了经济、科技、社会等多个领域,帮助你在写作时展现出丰富的词汇量和逻辑思维。 1. "随着经济的繁荣 ...

    C#项目中常用到的设计模式

    C#项目中常用到的设计模式

    CCNA中常用到的基础语句

    CCNA中常用到的基础语句启动接口,分配ip地址: 以下是引用片段:  router>  router> enable  router#  router# configure terminal  router(config)#  router(config)# interface type port  router...

    html中常用到的英语.doc编程资料

    html中常用到的英语.doc

    1000个软件中常用到的经典图标大小16*16icon文件

    这个名为“1000个软件中常用到的经典图标大小16*16icon文件”的资源集合,包含了广泛应用于各种软件和系统的图标,为开发者和设计师提供了便利。 首先,16x16像素的图标设计需要极高的精度和创意。在如此小的尺寸下...

    AndroidTestScripts, Android测试中常用到的脚本.zip

    AndroidTestScripts, Android测试中常用到的脚本

    AS3中常用到的公式

    在ActionScript 3 (AS3)中,许多复杂的动画效果和动态交互需要用到各种数学公式。以下是一些在AS3中常见的公式及其应用: 1. **基本三角函数**: - 正弦(sin)、余弦(cos)和正切(tan)函数用于计算角度与直角...

    asp.net 开发中常用到的代码

    本文将围绕ASP.NET的核心知识点,详细解释标题"asp.net 开发中常用到的代码"所涵盖的内容。 ASP.NET是Microsoft .NET框架的一部分,用于构建动态Web应用程序。它提供了一个强大的开发环境,支持服务器端脚本、控件...

    AD转换后期处理中常用到的软件滤波方法

    本文将深入探讨AD转换后期处理中常用到的几种软件滤波方法。 1. **低通滤波器**:低通滤波器是最基本的滤波类型,主要作用是允许低频信号通过,而衰减高频信号。在AD转换后,如果信号中混有高频噪声,低通滤波器...

    ssh中常用到的各jar包

    有关数据库驱动包提供mysql的。。。 在刚做项目的时候,可能会遇到一些jar包重复导致服务器启动出错的问题。解决上面的问题,以上jar包放心使用,呵呵。

    单片机硬件电路设计中常用到的锂电池的标称电压与满电电压各是多少?

    单片机硬件电路设计中常用到的锂电池的标称电压与满电电压各是多少?

    【日本软件外包】设计书中常用到的文型

    【日本软件外包】设计书中常用到的文型是日本软件开发过程中不可或缺的一部分,它们是用来清晰、准确地表达设计思想和沟通技术细节的关键工具。本文主要介绍了设计书中常见的日语表达方式,这些文型在与其他团队成员...

    asp.net中常用到的SQL分页存储过程

    2. **确定排序方式**:根据`@OrderType`的值来决定排序方式,`0`表示升序,`1`表示降序。 ```sql IF @OrderType != 0 BEGIN SET @strTmp = '<(SELECT MIN(['+ @fldName +'])' SET @strOrder = 'ORDER BY [' + @...

    CRM2011开发中常用到的函数

    就是开发中常用带到的函数,现在已做成js,可以直接调用了。

    ASP.NET网络编程中常用到的27个函数集

    此外,还有一些其他函数,如Eof(filenumber)检查文件是否已到末尾,Exp(number)计算e的指数,FileDateTime(pathname)获取文件的创建日期和时间,FileLen(pathname)获取文件的长度,Filter(sourcearray, match[, ...

    工作学习中常用到的声学公式

    声压级的计算公式为 Lp = 10 * log10(P/Po),其中P是实际声压。听觉下限对应于0dB,大约是2×10^-5 N/m²,而听觉上限约为20N/m²,对应于120dB。声压级的叠加遵循对数法则,例如10dB+10dB=13dB,而不是简单的相加。...

    web开发中常用到的tree插件ztree

    在Web开发领域,数据的层次结构展示经常需要用到树形组件,这时就轮到像ZTree这样的树插件大显身手了。ZTree是一款广泛应用于前端开发中的JavaScript树插件,相较于dtree,ZTree提供了更为丰富的功能和更强的定制性...

    C语言程序设计中常用到的经典实例

    而在方法二中,通过`switch`语句,根据成绩除以10的整数部分判断等级,这是一种更为简洁的表示方式。 在学习这些实例时,要注意以下几点: - **变量声明**:在C语言中,需要先声明变量类型,然后为变量分配内存空间...

Global site tag (gtag.js) - Google Analytics