8

商品関連のカテゴリIDをカンマ区切りの値として保存するための「categories」というフィールドを含む商品テーブルがあります。カテゴリから商品を検索するために正規表現を使用しています。

4,24,1,31 私の表現を含むレコードがあると仮定します。

..WHERE categories REGEXP ',?4,?'

4しかし、これはカテゴリとの両方の積を返します24

カテゴリのみを表示する必要があります4

私は何かが足りないのですか?

4

1 に答える 1

12

使用する

WHERE categories REGEXP "(^|,)4(,|$)"

4これは、カンマで囲まれた場合、または文字列の先頭/末尾にある場合に一致します。

現在のバージョンでは、両方のコンマは完全にオプションであるため、4in が24一致します。

于 2012-09-24T06:29:50.363 に答える