MSSQL/TIP

[SQLTIP] 날짜구하는 쿼리모음

안낭우훗 2018. 7. 23. 09:40

declare @day datetime

set @day = '2/7/2007'

SELECT DATEADD(dd, 2-DATEPART(dw, @day), @day) as mondaydate


 


-- 현재달의 첫째날 

SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)


 


-- 현재주의 월요일

SELECT DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0)


 


-- 현재해의 첫째날

SELECT DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)


 


-- 현재분기의 첫째날

SELECT DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0)


 


-- 현재날의 자정주의 구하기

SELECT DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0)


 


-- 지난달의 마지막날 구하기

SELECT DATEADD(ms, -3, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0))


 


-- 지난해의 마지막날 구하기

SELECT DATEADD(ms, -3, DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0))


 


-- 현재달의 마지막날 

SELECT DATEADD(ms, -3, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0))


 


-- 현재해의 마지막날

SELECT DATEADD(ms, -3, DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, 0))


 


-- 현재달의 첫째주 월요일

SELECT DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, 6-DATEPART(day, GETDATE()), GETDATE())), 0)