SQL 月初日と月末日

よく使うのですが、毎回コーディングすると大変なので、備忘でしるします。

SELECT dateadd(day,0,convert(date,convert(nvarchar,year(dateadd(MONTH,0,dateadd(hour,9,getdate()))))  + '/'  + convert(nvarchar,month(dateadd(MONTH,0,dateadd(hour,9,getdate())))) + '/1'))

as 当月1日

,dateadd(day,-1,convert(date,convert(nvarchar,year(dateadd(MONTH,1,dateadd(hour,9

,getdate()))))  + '/'  + convert(nvarchar,month(dateadd(MONTH,1,dateadd(hour,9,getdate())))) + '/1')) 

as 当月末日

 

結果

当月1日 当月末日

2019-12-01 2019-12-31