2010-06-17 71 views

回答

11

之间的任何差别是存在NULL值和空/空之间有很大的区别值。

这里是描述差异的one resource

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.

2

是的,是有区别的。

在简单的话,会将myText IS NOT NULL指定被会将myText具有一些值可能是 '' 太

凡为会将myText!= ''指定它返回TRUE,会将myText如果不包含一个空字符串

1

有区别。如果列的默认值为“NULL”,那么如果没有为某个字段设置数据,则它确实为空。但是,如果字段的值已更新为“',它不是NULL,而是空的。

这里了解更多信息Link

相关问题