SQL Tips--datetime與smalldatetime直接使用+加號或-減號做日期運算

一般我們在處理MS SQL Server的日期都必須透過DateAdd()等函數來運作,其實不用那麼麻煩,如果你的資料類型是datetime或smalldatetime,可以直接透過+(加號)或-(減號)來運算,例如以下語法:



declare @date smalldatetime=getdate()
select @date N'今天', @date + 31 N'加31天', @date - 31 N'減31天'
go

這樣有沒有簡潔有力些!重點是,此方法只能使用在datetime或smalldatetime兩個類型上,其他日期類型會出錯,例如,



declare @date datetime2=getdate()
select @date N'今天', @date + 31 N'加31天', @date - 31 N'減31天'
go

就會產生以下錯誤:

訊息 206,層級 16,狀態 2,行 2
運算元類型衝突: datetime2 與 int 不相容

Reference:

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。