[英]Understanding & operator in MySQL where clause
我遇到了同样的问题,但您在问题中遗漏了一些重要信息:
interests - 这个人的兴趣或爱好的集合,以逗号连接的字符串形式给出。 此列具有数据类型
set('reading','sports','swimming','drawing','writing','acting','cooking','dancing','fishkeeping','juggling','sculpting','videogaming').
现在,这是棘手的部分:
要将其转换为二进制,您正在使用他们的 position 来设置二进制值,例如:
阅读,position 1 设置二进制数 00000001 中的第一位(请记住 LSB 或最低有效位是从右到左的)。
绘图,position 4 设置二进制数的第四位,即 00001000
希望此时您意识到,如果将这些二进制值转换为十进制,它们将变成 1 和 8,这就是它起作用的原因。
这很奇怪。 我怀疑是想给大家介绍MySQL中的set
数据类型。 文档在这里。
这很奇怪的原因是列中的分号。 集合通常使用逗号作为分隔符——这是记录在案的分隔符,我认为没有任何方法可以更改它们。
也就是说,通常不建议使用套装,原因如下:
在某些特定情况下,它们可能很有用,但大多数数据库在没有它们的情况下也能做得很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.