然而:
以 SQL Server 2008 开头的日期字段类型
给定一个表:
CREATE TABLE dbo.MyTable
(
Code int NOT NULL,
DateCode datetime NOT NULL
)
CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED
(
[Code] ASC, [DateCode] DESC
);
Run Code Online (Sandbox Code Playgroud)
约束 DateCode 只是一个日期的最佳方法是什么?
它必须允许没有时间部分的日期。
2017-01-02
2017-01-02 00:00:00.000
20170102
Run Code Online (Sandbox Code Playgroud)
现在我正在使用:
ALTER TABLE dbo.MyTable ADD CONSTRAINT [CHK_MyTable_DateCode]
CHECK ([DateCode] = DATEADD(DAY, 0, DATEDIFF(DAY, 0, [DateCode])));
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有最好的/简短的方法来完成它。