본문 바로가기

프로그램&DB/MS-SQL

MSSQL dateadd() 이용하여 말일, 초일 구해보자 by 훈이에요 님

MSSQL dateadd() 이용하여 말일, 초일 구해보자


declare @날자 datetime

set @날자='2008-01-01'

---현재월의 초일 --
SELECT dateadd(d,-day(@날자)+1,@날자)

---현재월의 말일 --
SELECT dateadd(d,-day(dateadd(m,1,@날자)), dateadd(m,1,@날자))

---전월의 초일 --
SELECT dateadd(m,-1, dateadd(d,-day(@날자)+1,@날자))

---전월의 말일 --
SELECT dateadd(d,-day(@날자),@날자)

== 또다른 매달말일 구하는 법
SELECT CONVERT(Char(8), DateAdd(day, -1, DateAdd(month, 1, @종료월 + '01')), 112)