gpt4 book ai didi

mysql - 这两个查询中 "IS NOT NULL"和 "NOT (field = NULL)"之间的区别

转载 作者:可可西里 更新时间:2023-11-01 06:28:46 25 4
gpt4 key购买 nike

下面两个查询有什么区别?

DELETE FROM experience WHERE end IS NOT NULL;

DELETE FROM experience WHERE NOT( end=NULL);

第一个查询被接受为正确答案,但第二个不是。

最佳答案

NULL 有点奇怪。 NULL 从不等于任何包括另一个 NULL。此外,针对 NULL 的任何 bool 运算都会返回 NULL。

表达式 end IS NOT NULL 将评估 false 如果 end 为 NULL,并且 true 如果 end 不为 NULL。

表达式 NOT( end=NULL) 实际上总是计算为 NULL 因为 (end = NULL) 等于 NULL 而 NOT (NULL) 也等于 NULL。更重要的是,在 WHERE 子句中,它永远不会评估 true

关于mysql - 这两个查询中 "IS NOT NULL"和 "NOT (field = NULL)"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36076461/

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