SQL中如何取得当前(或指定)月份的天数
一、获取当前日期
Select getdate()
结果:2014-05-22 18:48:52.030
二、获取当前日期到SQL初始日期的差值
select datediff(mm,0,getdate())
结果:1372
其中mm代表差值单位为月,0为SQL内置初始日期(1900年1月1日0时0分0秒)
三、给初始日期加上上面得到的月数,得到本月1日的日期
select dateadd(mm,datediff(mm,0,getdate()),0)
结果:2014-05-01 00:00:00.000
四、给初始日期加上上面得到的月数加1,得到下月1日的日期
select dateadd(mm,datediff(mm,0,getdate())+1,0)
结果:2014-06-01 00:00:00.000
五、将上面得到的日期减1,得到本月最后一天的日期,即本月倒数第一天的日期
select dateadd(mm,datediff(mm,0,getdate())+1,0)-1
结果:2014-05-31 00:00:00.000
六、取出上面日期中的“日”
select day(dateadd(mm,datediff(mm,0,getdate())+1,0)-1)
结果:31
函数解释
DATEDIFF(datepart,startdate,enddate)
功能:返回两个日期之间的天数。
startdate 和 enddate 参数是合法的日期表达式。
DATEADD(datepart,number,date)
功能:在日期中添加或减去指定的时间间隔。
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:
datepart | 缩写 |
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
js当前日期加一天毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论