Sql-Server-2012
將列預設為下個月的 1 日
我正在嘗試找到將列值預設為下個月 1 日的最優雅的方法。我能想到的最好的是:
ALTER TABLE Foo ADD Bar datetimeoffset(0) NOT NULL DEFAULT(DATEFROMPARTS(DATEPART(year, DATEADD(month, 1, GETDATE())), DATEPART(month, DATEADD(month, 1, GETDATE())), 1))
雖然這行得通,但感覺真的很笨拙,因為我需要計算
DATEADD(month, 1, GETDATE())
兩次*,*因為我需要DATEFROMPARTS
跳舞。有沒有更簡單的方法來實現我的目標?
它認為這將是最簡單的方法。
DATEADD(DD,1,EOMONTH (GETDATE()))
所以你的查詢就像
ALTER TABLE Foo ADD Bar datetimeoffset(0) NOT NULL DATEADD(DD,1,EOMONTH (GETDATE()));
謝謝!