SQL 获取当月天数的方法

之前网上找到的方法是

select day(dateadd(mm,1,getdate())-day(getdate()))

 

该方法平时能工作正常,但是在某些月份31号时会发生错误,比如1月31号,8月31号等

 

重新自己改了下方法,能正常获取到当月天数

 

select day(dateadd(MONTH,1,GETDATE()-DAY(GETDATE())+1)-1)

 

可用以下语句进行测试对比

 

declare @date datetime=convert(datetime,2014-01-31)
select day(dateadd(MONTH,1,@date-DAY(@date)+1)-1)
select day(dateadd(month,1,@date)-day(@date))

 

SQL 获取当月天数的方法

上一篇:MySQL启动错误ERROR! MySQL server PID file could not be found的解决办法


下一篇:MySQL的btree索引和hash索引的区别