gpt4 book ai didi

MySQL NOT IN 和 NOT LIKE

转载 作者:行者123 更新时间:2023-11-29 03:11:12 26 4
gpt4 key购买 nike

是下面的查询

SELECT * FROM items WHERE field1 NOT LIKE '%a%' AND NOT LIKE '%b%' AND
NOT LIKE '%c%'

相当于

SELECT * FROM items WHERE field1 NOT IN ('a', 'b', 'c');

一般来说,在 MySQL 查询中排除某些字符串值的最佳方法是什么?

最佳答案

它们不等价,因为第一个会匹配:

Mike
Tom

因为上面的单词中没有A、B、C。但不是

Apple Cobler

其中包含 A、B 和 C。第二个将匹配除以下内容之外的任何内容:

a
b
c

我认为您的第二个查询(NOT IN)是排除某些字符串的更好方法,前提是您不需要对可能的值进行通配符匹配。请注意,LIKE 子句在性能方面更昂贵,因为它必须对每一行进行直接评估,而不是仅仅命中索引。

关于MySQL NOT IN 和 NOT LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124634/

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