[英]Difference between MySQL IS NOT NULL and != ''
MySQL之间有什么区别吗?
IF (myText IS NOT NULL) THEN
和
IF (myText != '') THEN
是的, NULL
值和空白/空值之间存在很大差异。
这是描述差异的一种资源 。
当myText IS NULL
:
myText IS NOT NULL
计算结果为FALSE
myText != ''
求值为NULL
(在你编写的这个特定情况下,它的行为与FALSE
基本相同) 但是,你不应该养成对待它们的习惯,因为大多数时候它们会表现不同:例如:
假设你有一个表tbl
:
id text
1 NULL
2
3 abc
注意: 1包含NULL
值,2包含空字符串( ''
)。
如果您运行以下查询:
SELECT * FROM tbl WHERE text != ''
......它将返回记录3。
如果您运行以下查询:
SELECT * FROM tbl WHERE text IS NOT NULL
...它将返回记录2和3。
是,有一点不同。
简单来说, myText IS NOT NULL指定myText具有某些可能也是“值”的值 。
其中myText!=''指定它返回TRUE,如果myText不包含空字符串 。
它们是有区别的。 如果列的默认值为“NULL”,那么如果没有为字段设置数据,则它实际上为空。 但是,如果字段的值已更新为'',则它不是NULL,而是为空。
在这里看到更多的信息链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.