在SqlServer中求日期月份的天数

代码如下:



输出:31

基本思路:要求一个月的天数,先获得这个月的年份和月份,在月份上加1,然后将年份、月份和“-01”进行拼接,求出下个月第一天的日期;然后在该日期上 -1,得到本月最后一天的日期;最有通过day(),求得最后一天日期的天对应的数字,该数字即为本月的天数。


一下看这个代码似乎有点晕,我们来分解一下这个代码:


最里面的代码

64行为求改天在本月中的第几天;

65行结合70行为将CAST中的字符串转化为datetime类型;

66行通过字符串截取求得本月的所在的年份,如:“2017-”;

67行、68行求得本月的下个月月份,在将本月加一得到下个月时,如果是13,则表示当前为12月,下月应为1月;

69行,下个月第一天;

66-67-68-69一起讲年-月-日拼接起来,并通过CAST转化为datetime;

71进行减1操作,得到本月最后一天的日期,最后day函数求得本月天数;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值