“column is not null”和“column!=''”和“column<>之间的区别是什么? '''在mysql查询中?

时间:2011-07-15 13:42:31

标签: mysql

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

emp <> ''emp not null

我很困惑,请帮助我。

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

emp <> ''与无效的列匹配。对于null测试,您必须使用emp is not null,因为null与任何内容都不匹配。

答案 2 :(得分:0)

emp <> ''测试值是否与空字符串不同,而emp is not null测试的值是否为null。与null比较时,您应始终使用is nullis not null