select
dateadd(yy, datediff(yy, 0,  '2009/12/30'), 0)                                                            YearFDt -- 當年度第1天
,DATEADD(mm, DATEDIFF(mm, '', '2009/12/30')-2, '')                                      Pre2FDt   -- 前2個月第1天
,DATEADD(day, -1, DATEADD(mm, DATEDIFF(mm, '', '2009/12/30')-1, ''))  Pre2EDt    -- 前2個月最後1天
,DATEADD(mm, -1, DATEADD(mm, DATEDIFF(mm, '', '2009/12/30'), ''))    Pre1FDt    -- 前1個月第1天
,DATEADD(day, -1, DATEADD(mm, DATEDIFF(mm, '', '2009/12/30'), ''))     Pre1EDt   -- 前1個月最後1天
,DATEADD(mm, DATEDIFF(mm, '', '2009/12/30'), '')                                        CurrFDt   -- 當月第1天
,DATEADD(day, -1, DATEADD(mm, DATEDIFF(mm, '', '2009/12/30')+1, '')) CurrEdt   -- 當月最後1天
,DATEADD(mm, DATEDIFF(mm, '', '2009/12/30')+1, '')                                     LastFDt -- 後1個月第1天
,DATEADD(day, -1, DATEADD(mm, DATEDIFF(mm, '', '2009/12/30')+2, ''))  LastEDt -- 後1個月最後1天
,dateadd(yy, datediff(yy, 0,  '2009/12/30')+1, -1)                                                       YearEDt-- 當年度最後1天

--DATEPART(dw, GETDATE())=2 Monday
--//每週起始第一天是星期天
,Getdate()-DATEPART(dw, GETDATE()-7)+1 currwkSun1
,Getdate()-DATEPART(dw, GETDATE()-7)+7 CurrwkSay
--//每週起始第一天是星期一
,Getdate()-DATEPART(dw, GETDATE())+2 currwkMon
,Getdate()-DATEPART(dw, GETDATE())+8 CurrwkSun
--//上一週起始第一天是星期天
,Getdate()-7-DATEPART(dw, GETDATE()-7)+1 laswkSun1
,Getdate()-7-DATEPART(dw, GETDATE()-7)+7 laswkSay
--//上一週起始第一天是星期一
,Getdate()-7-DATEPART(dw, GETDATE()-7)+2 laswkMon
,Getdate()-7-DATEPART(dw, GETDATE()-7)+8 laswkSun

giga0066 發表在 痞客邦 PIXNET 留言(0) 人氣()