我希望在数据库中有两列,一列用于跟踪用户是否提交了某些内容,另一列用于记录提交的时间戳。
如何构造表定义,以使这两列的状态永不不一致?
基本上,我希望布尔字段由submittedDate列是否为空来驱动。下面是表定义的片段:
CREATE TABLE SomeSchema.SomeTable
(
...
SubmittedDate datetime NULL,
Submitted bit NOT NULL DEFAULT(0), -- Drive off of SubmittedDate?
...
)
最好的方法是什么?
谢谢!
最佳答案
使用acomputed column:
CREATE TABLE SomeSchema.SomeTable
(
...
SubmittedDate datetime NULL,
Submitted as cast(case when SubmittedDate is null then 0 else 1 end as bit)
)
关于sql-server - 如何从可为空的列中驱除SQL Server中的 bool 字段?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2851274/