2016-05-06 42 views
1

私は配列と同様の方法で一致させる必要があるいくつかのスティング値を含んでいます。句は、私が第一第二と第三の値を一致させることができますMySQLの正規表現の一致

SELECT * WHERE product_code LIKE 'IS' 

を使用する場合

array('IS','KG','BO BB AF', 'MA') 

が、第三値「BO BB AF」は、この

のように一致させる必要があります。配列は次のようになります
SELECT * WHERE product_code LIKE 'BO' or 'BB' or 'AF' 

正規表現を使用した単一のMySQL文でこれを行うことは可能ですか?それとも、文字列を分割してループする必要がありますか?そのような場合のためにREGEXP

SELECT * WHERE product_code REGEXP 'IS|KG|BO|BB|AF|MA' 
+0

あなた'product_code'カラムは' varchar'型で、カンマ区切りの形式で値を格納します。そうですか? – 1000111

+0

はい、それは正しいです –

+0

ちょうど 'BO BB AF'と一致させたいのですか、あるいはその一部だけを' product_code'とマッチさせたいですか? – 1000111

答えて

2

私はこのクエリの実現可能性についてはよく分からないが、あなたは次のようなものを使用することができます。

SELECT * WHERE product_code REGEXP 'IS|KG|BO|BB|AF|MA'; 

http://dev.mysql.com/doc/refman/5.7/en/regexp.html