我在 SQL 服务器中有下表 (Table_1
):
并在表中具有以下值。
我正在使用以下查询来获取没有“Thakker”作为 LastName
的记录。
SELECT [id]
,[FirstName]
,[LastName]
FROM [dbo].[Table_1] WHERE LastName <> 'Thakker'
但它只返回第三行。我期待它应该返回第二行和第三行。
为什么它不返回第二行。 ?
最佳答案
请添加 ISNULL
检查列 LastName
以在选择中包含 NULL 值。
SELECT [id]
,[FirstName]
,[LastName]
FROM [dbo].[Table_1]
WHERE ISNULL(LastName,'') <> 'Thakker'
或使用CASE
SELECT [id]
,[FirstName]
,[LastName]
FROM [dbo].[Table_1]
WHERE 1=CASE WHEN LastName='Thakker' THEN 0 ELSE 1 END
关于sql - SQL Server 中的“<>”不返回 NULL 值行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21794679/