SQL CHECK 约束问题
我使用的是 SQL Server 2008,并且有一个包含三列的表:Length
、StartTime
和 EndTime
。我想在这个表上创建一个 CHECK 约束,它表示:
if Length == NULL then
StartTime <> NULL and EndTime <> NULL
else
StartTime == NULL and EndTime == NULL
我已经开始尝试这样的事情:
Length == NULL AND StartTime <> NULL AND EndTime <> NULL
显然这还不够,但即使这个简单的表达式也不会验证。我收到错误:
“验证‘CK_Test_Length_Or_Time’时出错。您要编辑约束吗?”
关于如何去做这件事有什么想法吗?
I'm using SQL Server 2008 and I have a table with three columns: Length
, StartTime
and EndTime
. I want to make a CHECK constraint on this table which says that:
if Length == NULL then
StartTime <> NULL and EndTime <> NULL
else
StartTime == NULL and EndTime == NULL
I've begun to try things like this:
Length == NULL AND StartTime <> NULL AND EndTime <> NULL
Obviously this is not enough, but even this simple expression will not validate. I get the error:
"Error validating 'CK_Test_Length_Or_Time'. Do you want to edit the constraint?"
Any ideas on how to go about doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SQL Server 中没有 == 运算符。在检查 null 时,您必须使用“is”
请尝试以下操作:
HTH
There is no == operator in SQL Server. While checking for null you have to use "is"
Please try this:
HTH