SQL Server null知多少?
null是什么?
不知道。我是说,他的意思就是不知道(unknown)。
它和true、false组成谓词的三个逻辑值,代表“未知”。与true和false相比,null难以令人捉摸,因为它没有明确的值,在不同的场景下,它能代表不同的含义。下文以例子的方式给大家分享下null使用的典型场景及对应的用法。
1.check约束与null
之前在SQL ServerCentral.com上看到一个关于check约束的null问题,
作者创建了一个表,在字段orderstatus上设置了check约束,只能插入指定的value的行,现在插入几行数据,其中有一行的value为null,后问终有几行可以插入成功。
原文如下:
I want to ensure that the status column for my Orders table only contains specific values. I decide to use this code:
create table Orders
( OrderID int primary key
, OrderTotal MONEY
, OrderStatus VARCHAR(20)
constraint Orders_Status_Code check( OrderStatus in ('ACTIVE', 'INACTIVE', 'TBD'))
);
go
相关文章