在SqlServer中求日期月份的天数

来源:互联网 发布:ipad上看文献知乎 编辑:程序博客网 时间:2024/06/06 16:36

代码如下:



输出: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函数求得本月天数;




原创粉丝点击