【问题标题】:SQLServer Get Results Where Value Is NullSQLServer 获取值为空的结果
【发布时间】:2010-09-06 22:25:10
【问题描述】:

我有一个正在查询的 SQL 服务器数据库,我只想在特定行为空时获取信息。我使用了 where 语句,例如:

WHERE database.foobar = NULL

它不返回任何东西。但是,我知道至少有一个结果,因为我在数据库中创建了一个 'foobar' 等于 null 的实例。如果我取出 where 语句,它会显示数据,所以我知道它不是查询的其余部分。

谁能帮帮我?

【问题讨论】:

    标签: sql sql-server oracle


    【解决方案1】:

    正确的语法是 WHERE database.foobar IS NULL。请参阅http://msdn.microsoft.com/en-us/library/ms188795.aspx 了解更多信息

    【讨论】:

      【解决方案2】:

      每次与 NULL 的比较都是错误的。您想改用 IS NULL。

      x =  NULL      -- always false
      x <> NULL      -- always false
      
      x IS NULL      -- these do what you want
      x IS NOT NULL
      

      【讨论】:

      • -1 与 NULL 的比较将是未知的,IS NULLIS NOT NULL 除外。
      【解决方案3】:

      阅读Testing for Null Values,你需要IS NULL not = NULL

      【讨论】:

        【解决方案4】:

        它是一个 SQL Server 数据库吗? 如果是这样,请使用 IS NULL 而不是进行比较 (MSDN)。

        【讨论】:

          猜你喜欢
          • 2012-01-09
          • 1970-01-01
          • 1970-01-01
          • 2021-04-29
          • 1970-01-01
          • 1970-01-01
          • 2013-10-28
          • 2018-01-11
          • 1970-01-01
          相关资源
          最近更新 更多