【问题标题】:What is the difference between "column is not null" and "column !=''" and 'column<> ''' in mysql query ?mysql查询中的“column is not null”和“column!=''”和'column<>'''有什么区别?
【发布时间】:2011-07-15 13:42:30
【问题描述】:

如果 "emp" 是 MySQL 数据库中表的列之一,请告诉我,以下查询之间的区别:

emp &lt;&gt; ''emp not null

我很困惑,请帮助我。

【问题讨论】:

标签: mysql


【解决方案1】:

''的比较检查字符串是否等于空字符串,并且总是可以执行。

IS NOT NULL 测试仅在数据库列可以为空时才有意义。你会故意让它为空,特别是能够区分“我知道这个值,它恰好是一个空白”和“这个值在这里不适用,或者我不知道”。

您可能还想查看 MySql 文档关于 NULL values 的说法。

【讨论】:

    【解决方案2】:

    emp &lt;&gt; '' 不会匹配为空的列。对于空测试,你必须使用emp is not null,因为空不匹配任何东西。

    【讨论】:

      【解决方案3】:

      emp &lt;&gt; '' 测试该值是否与空字符串不同,而 emp is not null 测试您的值是否与 null 不同。与 null 比较时,应始终使用 is nullis not null

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-26
        • 2019-12-27
        • 2013-09-25
        • 1970-01-01
        • 1970-01-01
        • 2015-11-04
        • 2010-09-08
        • 1970-01-01
        相关资源
        最近更新 更多