gpt4 book ai didi

sql-server - 如果还测试大于,是否有必要测试 NULL?

转载 作者:行者123 更新时间:2023-12-04 14:34:44 29 4
gpt4 key购买 nike

我今天继承了一些旧的存储过程,并遇到了几个遵循这种通用模式的示例,其中 @Test是一些 INT值(value):

IF @Test IS NOT NULL AND @Test > 0
-- do something...

我的理解是,如果 @TestNULL ,则它没有值,并且不大于、小于甚至等于零。因此,测试 NULL在上面的代码中是多余的:
IF @Test > 0
-- do something...

第二个版本似乎工作得很好,而且 IHMO 的可读性要高得多。

所以,我的问题是:我对 NULL 的理解是否正确?在这种情况下没有必要是正确的,还是有一些明显的用例我在这里忽略了它可能会出现可怕的错误?

注:在某些情况下,很明显意图是检查值是否存在,我已将其更改为 IF EXISTS ...我的问题更关心上面概述的一般情况。

最佳答案

在 SQL 中,所有与 NULL 值的比较都会评估为 false。
所以如果你想对它采取行动,你总是必须明确检查 NULL。
因此,在这种情况下,不需要额外的测试。

关于sql-server - 如果还测试大于,是否有必要测试 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39707193/

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