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

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

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


-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计算两个日期间的所有月份(天数)列表” 的相关文章

C# MDI子窗体启动后没有最大化

C# MDI子窗体启动后没有最大化

目的: 子窗口启动显示后最大化,也就是填充了整个父窗体 但是发现一个问题: 如果在 Visual Studio 2005里通过属性工具栏设定了子窗体的 WindowState 为 Maximized,然后在运行过程中会发现子窗体实例化时不会最大化,而是当改变了父窗体的大小之后才随即最大化。而通过在子...

IOS获取应用程序的名称和版本号

应用程序的名称和版本号等信息都保存在mainBundle的一个字典中,用下面代码可以取出来。 NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary]; NSString* versionNum =[infoDict object...

BOS审批流如何查询出下一级待审核人信息

--根据名称查询出采购订单的类型ID,为1071 SELECT FID,* FROM ICClassType WHERE FName_chs Like '%采购订单_BOS%' --审批流对应的审核状态表的组合规则为:ICClassMCStatus+单据类型ID,审核记录表组合规则为:ICClass...

冰点文库 老是停止工作

冰点文库 老是停止工作

问题: 每次使用时,都提示停止工作   原因: Adobe Flash Player的更新出现了问题,请重新下载并安装最新版的Adobe Flash Player 冰点文库下载器的工作原理,使得它必须借助Adobe Flash Player实现PDF文件的转换。...

IIS配置允许下载APK文件

IIS配置允许下载APK文件

MIME类型:application/vnd.android.package-archive...

无线网络连接受限

   今天换了个房间,于是原来的网线不够长了,想到Dlink DI-624路由器是无线的,那我就用无线上网的方式,这样就不用跑去买网线了。   说干就干,路由器设置还是非常简单的,无非就是选择连接方式,SSID,然后加密方式,设置密码,保存...

发表评论

访客

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