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

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

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


-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://xjtudll.cn/Exp/689/

标签: SQL
分享给朋友:

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

sqlserver数据库触发器调用外部exe

sqlserver数据库触发器调用外部exe

https://www.cnblogs.com/syp1Blog/p/9482088.html sqlserver数据库触发器调用外部exe,同事可以选择参入参数! sqlserver使用 master..xp_cmdshell 进行外部exe的执行。 使用master..xp_cmdshell 之...

CorelDraw12启动时图标一闪而过

现象: Coreldraw12启动时,图标一闪而过,无法打开cdr文件。每次启动都如此。 之前一直是可以使用的,在某次强制关机后,就发现软件不能使用了。 临时解决办法: 网上说的各种方法都试过了,都不行。目前只探索出了两种临时可行的办法。 方法一:每次使用coreldraw12前卸载c...

C语言交换两个数

可能大家都认为交换两个数如此的简单,没必要写,没新意。例如,交换a和b两个数,教科书上一直这样写: temp=b; a=temp; b=a; 确实很简单。但是最近看到一段代码,觉得十分高超,是这样的: a^=b; b^=a; a^=b; 同样也是三句代码,但是却未...

C# 用NPOI操作读写2007版的excel错误

现象: 导出Excel2003正常,导出Excel2007莫名其妙的错误。 C#用NPOI操作读写类网上很多了,在此不重复。 我引用的dll:NPOI.dll,NPOI.OOXML.dll,NPOI.OpenXml4Net.dll, 解决方法:还需要引用ICSharpCode.SharpZipLib...

大胆假设,小心求证

今天,捣鼓利尔达心电DEMO仪,主要是为了验证自己写的心率处理程序是否正确。结果,怎么捣鼓电压都不正常。用锂电池通过一个3V的LDO给系统供电。供电前,测试LDO输出电压正常,3.04V,结果一接上电路板,电压立马被拉至2V,有时甚至1.5V。从现象来看,首先怀疑的是DEMO板存在短路现象,电流过大...

IAR STM8嵌入汇编

IAR STM8嵌入汇编

IAR嵌入汇编:使用asm或者__asm,推荐使用__asm。 void delay_n_nop(uint8 N) { // 用C语言的话 会跟编译器的优化有关 /*     uint8 i;     for (i=N; i>0; i...

发表评论

访客

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