2013-05-27 69 views
1


我有一個表字段events其可以包含:MySQL的選取字符串中包含的字符

  • 只有號碼的序列,例如:45
  • 或由符號|分割數的順序,例如55|65|76

我想我必須使用LIKE,但我不知道如何。你可以幫我嗎?

感謝

+0

以下是您的幫助:修復您的餐桌設計,並將這些|分隔的字符分成合適的子表。不,我們不在這裏爲你做你的工作。嘗試自己寫下查詢,我們會盡力幫助解決它。 –

+0

你有什麼問題?使用'LIKE'你想搜索什麼? – Luv

+0

我想在該表格字段中搜索一個數字 –

回答

3

我建議使用CONCAT在您的字段前後添加管道|,然後使用LIKE搜索。事情是這樣的:

SELECT * 
FROM YourTable 
WHERE concat('|',field,'|') like '%|45|%' 

不過,我強烈建議嘗試標準化您的數據。考慮將這些存儲在單獨的行中,這將使得搜索/維護更容易。

0

要解決您的查詢,使用方法:

Select * from tbl where events='45' or events like '%|45' or events like '%|45|%' or 
events like '45|%' 

但這是非常緩慢的,不應該被使用。

取而代之,請按照Marc B的說法創建子表events (ID, event)