DaD*_*DaD 1 sql t-sql sql-server
我创建了一个简单的测试表来说明我的情况。两列都是varchar类型。
当我运行查询时,select * from test1 where TValue not in ('3','4')它仅返回以下3个值。
我希望它也返回Sample6值。我想知道为什么它只返回3个值,我还需要做什么才能返回Sample6值。
由于NULL不相同的方式工作在“正常”比较喜欢其他价值=,<,IN,等等,你需要使用NULL的逻辑,以及:
WHERE TValue NOT IN (3,4)
OR TValue IS NULL;
Run Code Online (Sandbox Code Playgroud)
与NULL使用像这样的表达式比较时WHERE YourColumn != 1,其中YourColumn具有值NULL,将返回布尔表达式NULL。数据引擎将仅返回布尔表达式返回true的值,否则返回true,NULL因此NULL != 1不会导致返回行。