如何从可空列中驱动SQL Server中的布尔字段?

Bra*_*ton 2 database sql-server database-design

我想在数据库中有两列,一列用于跟踪用户是否提交了某些内容,另一列用于该提交的时间戳.

如何构造表定义,以便这两列的状态永远不会出现矛盾?

基本上,我希望布尔字段由SubmittedDate列是否为空来驱动.这是表定义的片段:

CREATE TABLE SomeSchema.SomeTable 
(
    ...
    SubmittedDate                   datetime                NULL,
    Submitted                       bit                     NOT NULL        DEFAULT(0), -- Drive off of SubmittedDate?
    ...

)
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

谢谢!

OMG*_*ies 6

仅使用一列--DATETIME一列.它具有双重功能 - 列为空意味着它未提交,但如果值存在 - 您也知道何时.