Sql server 使用Where=Null是否有Where为Null的替代方法?

Sql server 使用Where=Null是否有Where为Null的替代方法?,sql-server,tsql,Sql Server,Tsql,如果没有,是否有另一种方法可以使用CASE或If/THEN标识符在SELECT语句之间切换,而无需先将语句放入标量变量中 有没有一种方法可以在不使用Is和=符号的情况下对其进行格式化 SELECT ID FROM TABLE WHERE ID = Null 不,NULL不是一个值。将空视为一个条件,使用为空或为非空测试此条件 在本例中,您可以测试实际值,或缺少由条件表示的值 WHERE (X IS NULL OR X = @X) 或 或首先测试您的确定条件: WHERE

如果没有,是否有另一种方法可以使用CASE或If/THEN标识符在SELECT语句之间切换,而无需先将语句放入标量变量中

有没有一种方法可以在不使用Is和=符号的情况下对其进行格式化

    SELECT ID FROM TABLE WHERE ID = Null

不,NULL不是一个值。将空视为一个条件,使用
为空
为非空
测试此条件

在本例中,您可以测试实际值,或缺少由条件表示的值

WHERE
   (X IS NULL OR X = @X)

或首先测试您的确定条件:

WHERE
    CASE X
      WHEN 1 THEN
      WHEN 2 THEN
      ELSE --  includes NULL
   END = ...
你的问题很抽象,很难给出更准确的答案


例如,您在NOT IN和NULL方面有问题吗?如果是,则use NOT EXISTS。

否。NULL不是一个值。将空视为一个条件,使用
为空
为非空
测试此条件

在本例中,您可以测试实际值,或缺少由条件表示的值

WHERE
   (X IS NULL OR X = @X)

或首先测试您的确定条件:

WHERE
    CASE X
      WHEN 1 THEN
      WHEN 2 THEN
      ELSE --  includes NULL
   END = ...
你的问题很抽象,很难给出更准确的答案


例如,您在NOT IN和NULL方面有问题吗?如果是,请使用NOT EXISTS。

当您需要检查NULL时,
为NULL
为NOT NULL
是解决您的问题的唯一有效方法。请提供更多信息。这有点抽象,架构和一些数据以及所需的输出会有所帮助。您还可以使用IsNull(col,value)函数,如果列为null,将返回值。这也适用于CASE语句。当您需要检查NULL时,
为NULL
不为NULL
是解决您的问题不清楚的唯一有效方法。请提供更多信息。这有点抽象,架构和一些数据以及所需的输出会有所帮助。您还可以使用IsNull(col,value)函数,如果列为null,将返回值。这也适用于CASE语句。