一个理论问题...
当下面给出的一组查询被触发时......
Create table Temp1(C1 varchar(2))
Create table Temp2(C1 varchar(2))
insert into Temp1 Values('A'),(NULL),('B')
insert into Temp2 Values('B'),(NULL),('C'),(NULL)
select *from Temp1 A,Temp2 B
where A.C1 <> B.C1
...给...
我A.C1 <> B.C1
在Where
从句中使用。
但我期待...
为了获得预期的结果作为输出,我需要ISNULL(A.C1,'') <> ISNULL(B.C1,'')
在Where
子句中使用。
我的问题是为什么我需要ISNULL
每次都按预期使用来获取输出,因为NULL
不等于任何字符串数据。