4

私は次のようなmysqlテーブル値を持っています

1-2

1-2-3

1-4-5

1-4-5-12-15

15-45-75

1-5-15-25-35-55

55-65-75

5番(15、25、35ではない)の行を選択したい。

LIKEクエリを試しましたが、5つの値すべてに行(15、35、45、55を含む)が含まれています。

SELECT ... WHERE linkage LIKE '%5%'

正規表現でできると思います。手伝ってくれませんか。

4

2 に答える 2

7

これは、 FIND_IN_SETを使用して実行できます。

SELECT ... 
WHERE FIND_IN_SET(5, REPLACE(linkage,'-',','));

@sqlfiddle

于 2012-08-31T06:29:03.767 に答える
2

試す

SELECT ... WHERE concat('-',linkage,'-') LIKE '%-5-%'


SQLフィドルデモ

于 2012-08-31T06:28:39.347 に答える