簡體   English   中英

MySQL查詢匹配確切的字符串或數字

[英]mysql query match exact string or number

我在MySQL表中有結果。 我只需要在user_id中只有6而不是26的地方獲得結果。

id   users_id

 15    6,5
 16    1,5
 18    2,8
 19    1,26
 20    6,26
 21    5,10
 22    28,6
 23    21,9 
 24    29,6

我正在使用MySQL查詢

SELECT * FROM WHERE users_id LIKE '%6%'

結果

id  user_id

15  6,5
19  1,26   why is this here..
20  6,26
22  28,6
24  29,6

結果不正確。 我只需要:

id  user_id

15  6,5
22  28,6
24  29,6

嘗試::

SELECT  *
FROM    tableName
WHERE   user_id like '6,%' or user_id like '%,6' or user_id like '%,6,%'
SELECT  *
FROM    tableName
WHERE   FIND_IN_SET(6, users_id) > 0 AND
        FIND_IN_SET(26, users_id) = 0

資源

因為您的查詢檢查結果是否在每個位置都包含6。

顯然,26包含6 ...

您可以做(存在其他方式)

where (users_id like '6,%' or users_id like '%,6')

sqlFiddle

也許嘗試:

SELECT * FROM WHERE users_id IN ('6');

應該剛好匹配6。

http://www.w3schools.com/sql/sql_in.asp

或不知道FIND_IN_SET或'OR',就可以:

id   users_id

 15    |6|5|
 16    |1|5|
 18    |2|6|

然后選擇user_id,例如“%| 6 |%”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM