微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

了解 MySQL 中的 & 运算符 where 子句

如何解决了解 MySQL 中的 & 运算符 where 子句

我正在尝试解决 MysqL 中的编程问题。我有下表。

enter image description here

我想获取以“阅读”和“绘画”为兴趣的人的姓名。

解决方案给出的可能结果之一如下。

SELECT name
    FROM people_interests
    WHERE interests & 1 AND interests & 8
    ORDER BY name

但是,我不明白为什么这个查询在这里起作用。有人能解释一下为什么会这样吗? & 运算符在这里做什么?

解决方法

这很奇怪。我怀疑其意图是向您介绍 MySQL 中的 set 数据类型。文档是 here

这很奇怪的原因是列中的分号。集合通常使用逗号作为分隔符——这是记录在案的分隔符,我认为没有任何方法可以更改它们。

也就是说,通常不推荐使用套装,原因如下:

  • 它们特定于 MySQL。
  • 它们在集合中可以存储的值数量有限。
  • 它们可能令人困惑,因为它们混淆了字符串、整数和位位置。

在某些特定情况下,它们可能很有用,但大多数数据库在没有它们的情况下也能做得很好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。