2017-10-17 56 views
0

我有一個表中的一列我以逗號分隔的數據,我一直在試圖弄清楚如何我可以使用MySQL查詢,檢查在這一列,我有一個只有逗號一次一個名字:MySQL的查詢字符串只有一次逗號

table

SELECT Name, num FROM biology WHERE Name = 'Yossi' AND contains (', ')=1 ; 

所以我只能得到

table2

感謝

+0

可能b u需要的MySQL –

回答

1

您使用FIND_IN_SET()來查找逗號分隔列表中包含特定單詞的行。

在逗號分隔的列表中,沒有優雅的方式來計算正好包含兩個元素的行,但實現此目的的一種方法是將逗號與字符串的長度以逗號分隔的長度進行比較。如果刪除所有逗號,將長度縮短1個字符,這意味着只有一個逗號。

像這樣的東西應該爲你工作:

select * 
from your_table 
where find_in_set('Yossi',name) 
and char_length(name) = (char_length(replace(name,',','')) + 1) 
+0

的FIND_IN_SET()謝謝,它的工作! –

相關問題