Mit*_*ran 6 mysql sql null conditional operators
MySQL之间有什么区别吗?
IF (myText IS NOT NULL) THEN
Run Code Online (Sandbox Code Playgroud)
和
IF (myText != '') THEN
Run Code Online (Sandbox Code Playgroud)
Sen*_*ful 11
是的,NULL值与空白/空值之间存在很大差异.
这是描述差异的一种资源.
时间myText IS NULL:
myText IS NOT NULL 评估为 FALSEmyText != ''求值为NULL(基本上与FALSE您编写的特定情况相同)但是,你不应该养成对待它们的习惯,因为大多数时候它们会表现不同:例如:
假设你有一张桌子tbl:
id text
1 NULL
2
3 abc
Run Code Online (Sandbox Code Playgroud)
注意: 1包含一个NULL值,2包含一个空字符串('').
如果您运行以下查询:
SELECT * FROM tbl WHERE text != ''
Run Code Online (Sandbox Code Playgroud)
......它将返回记录3.
如果您运行以下查询:
SELECT * FROM tbl WHERE text IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
...它将返回记录2和3.