SQL Server NULL约束

Max*_*Max 10 sql t-sql sql-server constraints sql-server-2008

SQL Server 2008中是否可以创建这样的约束,以限制两列同时具有NULL值?以便

Column1 Column2
NULL    NULL   -- not allowed
1       NULL   -- allowed
NULL    2      -- allowed
2       3      -- allowed
Run Code Online (Sandbox Code Playgroud)

gbn*_*gbn 14

ALTER TABLE MyTable WITH CHECK 
   ADD CONSTRAINT CK_MyTable_ColumNulls CHECK (Column1 IS NOT NULL OR Column2 IS NOT NULL)
Run Code Online (Sandbox Code Playgroud)

作为创造的一部分

CREATE TABLE MyTable (
 Column1 int NULL,
 Column2 int NULL,

 CONSTRAINT CK_MyTable_ColumNulls CHECK (Column1 IS NOT NULL OR Column2 IS NOT NULL)
)
Run Code Online (Sandbox Code Playgroud)

  • +1:或者,`COALESCE(Column1,Column2)不是NULL. (10认同)