【问题标题】:SQL Where clause returns nothing - BeginnerSQL Where 子句不返回任何内容 - 初学者
【发布时间】:2026-01-21 18:05:02
【问题描述】:

我有一个包含 3 个字段的表,IDNameAddress。 (NameAddress 是字符串类型)

在某些情况下,Address 留下了Null。我如何编写 SQL 来获取所有不是Null 的地址。

到目前为止我的工作;

select * from Hotel where Address != NULL

执行此命令后打印了零个结果(即使数据库中存储了此类记录)。我应该如何更改 SQL?

我正在使用 MySQL

【问题讨论】:

    标签: java mysql sql


    【解决方案1】:

    您需要使用 SQL 条件 IS NULLIS NOT NULL 而不是 != NULL

    【讨论】:

      【解决方案2】:

      您需要使用IS NOT NULL 而不是!= NULL

      select * from Hotel where Address IS NOT NULL
      

      查看this link

      【讨论】:

        【解决方案3】:
        select * from Hotel where Address is not NULL
        

        没有什么可以等于null。

        编辑。我来得太晚了:)

        【讨论】:

          【解决方案4】:
          SELECT * FROM Hotel WHERE Address IS NOT null
          

          【讨论】:

            【解决方案5】:

            如果表被标记为允许使用空值

            select * from Hotel where Address IS NOT NULL
            

            如果默认为空字符串则

            select * from Hotel where Address != ''
            

            【讨论】:

              【解决方案6】:

              试试:

              select * from Hotel where Address IS NOT NULL;
              

              【讨论】: