gpt4 book ai didi

mysql 对 like 的否定没有返回预期的结果,为什么?

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

我有一个包含 2796 个条目的 mysql 表。我想选择注释字段中某处不包含单词 SUPPR 的条目。

如果我执行以下操作

SELECT * FROM `catalogues` WHERE notes LIKE "%SUPPR%"

它返回 266 行。但是如果我写下我认为的补充

SELECT * FROM `catalogues` WHERE notes not LIKE "%SUPPR%"

当我期望 2530 (2796-266) 时,它返回 762 行。

我应该如何写第二个请求才能得到我需要的东西?

最佳答案

当您使用 NOT LIKE 时,会隐式排除空值。
您单独处理:

SELECT * 
FROM `catalogues`
WHERE (notes NOT LIKE "%SUPPR%"
OR notes IS NULL);

也许这只是为了说明目的,您使用它...
DBA 和性能爱好者建议不要使用 SELECT *

关于mysql 对 like 的否定没有返回预期的结果,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6627448/

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