close
SQL 2012 新增的日期或是時間有關的函數
EOMONTH:選擇性位移,傳回包含指定日期的當月最後一天
DATEFROMPARTS :傳回對應至指定年份、月份和日期值的 date 值
DATETIME2FROMPARTS
DATETIMEFROMPARTS
DATETIMEOFFSETFROMPARTS
SMALLDATETIMEFROMPARTS
TIMEFROMPARTS
EOMONTH算是時間日期函數中比較實用的函數
以下透過範例示範如何使用EOMONTH函數取得某月最後一天
SELECT EOMONTH ( GETDATE() ) N'當月最後一天' SELECT EOMONTH ( GETDATE(), 1 ) AS N'下一個月最後一天' SELECT EOMONTH ( GETDATE(), -1 ) AS N'一個月最後一天'
T-SQL取得本月的第一天及最後一天的日期方法 (適用所有版本,包含舊版)
select dateadd(dd,-day(getdate())+1,getdate()) -- 本月1號 select dateadd(dd,-day(dateadd(month,1,getdate()))+1,dateadd(month,1,getdate())) -- 下月1號 select dateadd(dd,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate())) --上个月1號 select dateadd(dd,-day(getdate()),getdate()) --上月月底 select dateadd(dd,-day(dateadd(month,1,getdate())),dateadd(month,1,getdate())) --本月底 select dateadd(dd,-day(dateadd(month,2,getdate())),dateadd(month,2,getdate())) --下月月底
SELECT LEFT(CONVERT(VARCHAR(8),GETDATE(),112),6)+'01' --本月1號 SELECT LEFT(CONVERT(VARCHAR(8),DATEADD(Month,+1,GETDATE()),112),6)+'01' --下月1號 SELECT LEFT(CONVERT(VARCHAR(8),DATEADD(Month,-1,GETDATE()),112),6)+'01' --上月1號 SELECT DATEADD(D,-1,LEFT(CONVERT(VARCHAR(8),DATEADD(Month,+1,GETDATE()),112),6)+'01') --本月底 SELECT DATEADD(D,-1,LEFT(CONVERT(VARCHAR(8),DATEADD(Month,+2,GETDATE()),112),6)+'01') --下月底 SELECT DATEADD(D,-1,LEFT(CONVERT(VARCHAR(8),DATEADD(Month,-1,GETDATE()),112),6)+'01') --上月底
全站熱搜