Ups*_*n42 2 mysql sql null select
我有一个像这样的查询:
Select *
FROM table1
WHERE field1 NOT IN ('value1')
Run Code Online (Sandbox Code Playgroud)
如果该field1行是null,则不会返回.它对我来说看起来不合逻辑,因为null它不是'value1',所以应返回该行,这可能会导致许多错误.我明白,由于某些原因,它的工作方式如此.这些是什么?
NULL在SQL中,A 不是值.
SELECT NULL = NULL
# => NULL
SELECT NULL != NULL
# => NULL
Run Code Online (Sandbox Code Playgroud)
从而,
原因null不是'value1'
但NULL也不是没有 "VALUE1".NULL基本上是说"我不知道"的SQL方式.所以它可能是'value1',或者它可能不是.测试的方法NULL是
SELECT NULL IS NULL;
# => 1
Run Code Online (Sandbox Code Playgroud)
因此,试试这个:
WHERE field1 NOT IN ('value1') OR field1 IS NULL
Run Code Online (Sandbox Code Playgroud)
专门处理此案.
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |