gpt4 book ai didi

mysql - 为什么在选择 != 到字符串时 mySQL 不会返回具有空值的行

转载 作者:可可西里 更新时间:2023-11-01 07:27:35 24 4
gpt4 key购买 nike

我有一个包含可为空的 varchar 列的表。选择行并指定我想要值不等于给定字符串的行时,它不会返回值为空的行。

例如:

## if `value` is null, that row is ignored
SELECT * FROM test_table WHERE value != 'some string'

我想了解为什么会这样。

例子: http://sqlfiddle.com/#!2/83f0d/1

最佳答案

ANSI SQL 中,NULL 既不等于也不不等于任何值,包括它自身。

NULL = 'foo'
NULL != 'foo'
NULL = NULL
NULL != NULL

所有评估为 NULL。要测试是否为空,您必须在查询中使用 is nullis not null

关于mysql - 为什么在选择 != 到字符串时 mySQL 不会返回具有空值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21125997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com