gpt4 book ai didi

sql-server - ISNULL 错误返回?

转载 作者:行者123 更新时间:2023-12-01 06:24:34 25 4
gpt4 key购买 nike

我有以下查询:

SELECT apps.Field4,
ISNULL(apps.field4, '-1')
FROM applications apps
WHERE apps.OBJECT_ID = 1727847
AND ISNULL(apps.Field4, -1) = -1
apps.field4是一个整数,对于 field4,没有记录的值小于 0 .

上述查询的返回值是:
+------+----+
| NULL | -1 |
+------+----+

但是如果我添加 AND apps.field4 is NULL到 where 子句,不返回任何记录:
SELECT apps.Field4,
ISNULL(apps.field4, '-1')
FROM applications apps
WHERE apps.OBJECT_ID = 1727847
AND apps.field4 IS NULL
AND ISNULL(apps.Field4, -1) = -1

为什么 ISNULL似乎正确识别 NULL值,但是 IS NULL才不是?

最佳答案

我知道我不是在回答你的问题。但是,我在 MSDN 中发现了一些有趣的东西:

C. 测试 NULLWHERE条款
请勿使用 ISNULLNULL值。使用 IS NULL反而。以下示例查找具有 NULL 的所有产品在权重栏中。注意 IS 之间的空格和 NULL .

USE AdventureWorks2012;
GO
SELECT Name, Weight
FROM Production.Product
WHERE Weight IS NULL;
GO

https://msdn.microsoft.com/en-us/library/ms184325.aspx

关于sql-server - ISNULL 错误返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30176385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com