当我写列!=某事时它也不会选择任何空值等等。为什么会这样?我可以阻止这个只是写入AND列是NULL吗?
答案 0 :(得分:2)
您还需要检查NULL
。
SELECT
*
FROM your_table
WHERE column <> something
OR column IS NULL
注意:您无法将NULL
与NULL
之外的任何内容进行比较。
让我们看一下以下代码片段:
SET @v := NULL;
SELECT @v = NULL;
Result: NULL; Because NULL can be only compared using IS NULL
SELECT @v IS NULL;
Result: 1 (i.e. TRUE)
在您习惯之前,NULL值可能会令人惊讶。 从概念上讲,NULL表示“缺少未知值”并对其进行处理 与其他价值观略有不同。
要测试NULL,请使用IS NULL和IS NOT NULL
答案 1 :(得分:1)
答案 2 :(得分:1)
需要单独检查NULL条件..
and column is NULL