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'一個月最後一天' 
 

image

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())) --下月月底  
 
image
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') --上月底 
 
 
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 小草 的頭像
    小草

    學海無邊,書囊無底

    小草 發表在 痞客邦 留言(0) 人氣()