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

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

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


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

CRC查表法——表的由来

为了更容易理解这篇文章,拿出纸笔跟着算一遍吧。文中的一些假定:a0,a1,b0,b1,b2,b3,c1,c2,c3等等,拿笔将其含义记下来,免得思维混乱。 查表法实际上利用的是XOR运算的交换律和结合律,即(A XOR B )XOR C = A XOR (B XOR C) 我们再以一个简单的例子来...

CorelDraw12启动时图标一闪而过

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

VSPD + Keil 实现串口的仿真调试

VSPD + Keil 实现串口的仿真调试

VSPD顾名思义就是在本本上虚拟串口,实际上这个软件做的就是虚拟出一对已经互联的串口。 上面就是虚拟出来了com3和com4,而且已经交叉(默认)连接了,这样相当于本本的com3、com4在外面已经连好了,下面要做的就是在内部分别赋予com3和com4所属终端了。 com4—&mda...

Keil优化及如何设置某段代码不优化

Keil优化及如何设置某段代码不优化

Keil默认会对代码进行优化的,如图所示: 一般情况缺省编译优化设置被设定为8级优化,实际最高可设定为9级优化。 1、Dead code elimination 2、Data overlaying 3、Peephole optimization 4、Register variables 5、Com...

Word删除空格、空行、超链接宏

1、删除空格和空行 此宏的主要功能是删除空格,并将软回车替换为硬回车 Sub 删除空格和空行() ' ' 删除空格和空行 宏 ' '    '英文单词与英文单词之间保留一个半角空格,其他的所有空格均删除     myReplaceExecute Se...

430仿真器安装驱动提示INF找不到所需的段落

430仿真器安装驱动提示INF找不到所需的段落

在安装msp430 USB仿真器驱动程序时,出现问题:在inf中找不到所需段落。 打开setupapi.log(windows目录下)一看,发现是找不到 [ClassInstall32] 段。 找到原因,就知道如何解决了。解决方法如下 1、打开UIF的驱动程序,其下有2个INF文档,umpusb...

发表评论

访客

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