gpt4 book ai didi

MySQL - 更好的语法来比较 where 子句中的多个变量

转载 作者:行者123 更新时间:2023-11-29 02:05:02 24 4
gpt4 key购买 nike

我的查询是这样的:

SELECT * FROM table WHERE id1 = id2 and id2 = id3 and id3 = id4 and id4 = id5

这行得通,但如果有更多 ID,它会变得复杂。有什么办法可以缩短这个吗?谢谢。

最佳答案

SELECT * FROM table 
WHERE (id1 | id2 | id3 | id4 | id5) = id1
AND (id1 & id2 & id3 & id4 & id5) = id1

| 是按位或
&是按位与
^ 是按位异或

另一种选择是:

SELECT * FROM table 
WHERE ((id1 ^ id2) | (id3 ^ id4) | (id4 ^ id1) | (id5 & id1)) = 0

参见:http://dev.mysql.com/doc/refman/5.0/en/bit-functions.html

关于MySQL - 更好的语法来比较 where 子句中的多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8020616/

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