当前位置:首页 > 技术心得 > 正文内容

SQL计算两个日期间的所有月份(天数)列表

xjtudll2年前 (2024-10-16)技术心得5970


-SQL根据两个日期计算出中间所有的月份


-- 方法一,利用SQL常量表master.dbo.spt_values


Select convert(varchar(10),DATEADD(mm,number,'2020-05-10' ),120) As 日期 

From master.dbo.spt_values

Where Type='P' and DATEADD(mm,number,'2020-05-10' )<='2021-4-10' ORDER BY 日期




-- 方法2 用存储过程


declare @t1 datetime,@t2 datetime,@t3 datetime

set @t1 = '2020-05-10'

set @t2 = '2021-4-10'

set @t1=DATEADD(mm, -1, @t1)

set @t2=DATEADD(mm, -1, @t2)

set @t3 = @t1

while datediff(d,@t3,@t2) >=0

    begin

        select @t3 = dateadd(mm,1,@t3)

        print convert(varchar(10),@t3,120)

    end



方法一:

20210407213818484

方法二:

20210407213818570

说明:如果要计算天数则把MM改成DD就行了

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/689/

标签: SQL
分享给朋友:

“SQL计算两个日期间的所有月份(天数)列表” 的相关文章

vs2012 与 win7 不兼容的问题

vs2012 与 win7 不兼容的问题

问题描述:安装VS2012后,打开提示与此版本的 Windows 不兼容 如下图: 一开始以为是VS2010不能安装在Win7 64bit上,后来发现有个补丁,安装好之后,就能使用了。 Update for Microsoft Visual Studio 2012 (KB2781514) http...

PhonestateListener如何取消监听

PhonestateListener怎么取消监听? TelephonyManager tm; tm.listen(MyPhoneListener myPlistener,PhoneStateListener.LISTEN_CALL_STATE); class MyPhoneStateL...

TVS主要技术参数

1、最小击穿电压VBR和击穿电流IR VBR:Reverse Break Down Voltage,反向击穿电压 IR:Reverse Current,击穿电流(有的datasheet上称为IT) VBR是TVS最小的击穿电压,在25℃时,低于这个电压TVS是不会产生雪崩的。当TVS流过规定的1mA...

金蝶K3单据编码规则扩展方法解密

金蝶K3单据编码规则扩展方法解密

https://baijiahao.baidu.com/s?id=1603718041512798752&wfr=spider&for=pc 在实施客户过程中,客户对单据编码规则提了一些简单的需求: 需求一:内贸订单和外贸订单希望能够通过前缀编码来区分。 需求二:系统订单编码规则为&...

Altium Smart PDF中文不显示问题

Altium Smart PDF中文不显示问题

在用Altium SmartPDF的时候发现,没法打印出中文,凡是有中文的地方,直接就是空白了,英文能正常显示。如图所示: 实际内容 显示内容 两个图片对比后,可以清晰的看出:中文全部未显示出来,都是空白。 究其原因,很简单,就是汉字的字体没有选中文字体,选用的是英文字体。 该如何解决这个问题呢...

sharepoint 安装Office Web Applications 报错

sharepoint 安装Office Web Applications 报错,如下: 未能从程序集“Microsoft.Office.Excel.Server.MossHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。