TSQL中"<>"和"不是"之间的区别?

Chu*_*way 2 t-sql

我不明白.

我有这个表达,它没有用.

IF @LocationName <> NULL AND
@Latitude <> NULL AND
@Longitude <> NULL AND
@Zoom <> NULL AND
@MapTypeId <> NULL
BEGIN
... 
END
Run Code Online (Sandbox Code Playgroud)

我把它改成了这个表达式.

IF @LocationName Is NOT NULL  AND
@Latitude Is NOT NULL AND
@Longitude Is NOT NULL AND
@Zoom Is NOT NULL AND
@MapTypeId Is NOT NULL
BEGIN
... 
END
Run Code Online (Sandbox Code Playgroud)

它有效......

WTH?

gbn*_*gbn 7

正如所料.

每次与NULL的比较总是UNKNOWN(等于false).

也称为三值逻辑(Wikipedia)和MSDN/SQL Server