2014-04-04 65 views
1

我有幾個以逗號分隔的數字列表。我需要匹配特定的行與SQL查詢。我想爲此構建正確的RegExp,我需要你的幫助。我的行與逗號的帶有數字列表的函數REGEXP

例分隔號碼清單:

  • 1,8,33,44
  • 1,8,44
  • 1,8,22,33
  • 8 ,22,44
  • 1,88,44
  • 1,22,44,66

我需要匹配的是隻包含數字8和44

我的SQL查詢看起來是這樣的線路:

SELECT id FROM my_list WHERE id_list REGEXP '^[0-9,]8,[0-9,]44[0-9,]$' 

提前感謝!

+0

你不一定要使用MySQL這一點。這不是萬能的。 – Strawberry

+0

請參閱http://web-profile.com.ua/mysql/dev/mysql-check-if-value-is-in-comma-separated-string/ –

回答

1

使用FIND_IN_SET功能:

SELECT id FROM my_list WHERE FIND_IN_SET('8', id_list) AND FIND_IN_SET('44', id_list) 
+0

是的,它遠勝於正則表達式。 –

+0

謝謝!它完美的作品 – user3497051

0

試試這個:

SELECT id FROM my_list WHERE CONCAT(",",id_list,",") REGEXP ',8,|,44,' 
+0

感謝您的幫助 – user3497051