[英]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.