この (1|5|18|44|98|22) のようにフィールドに入力された数字 (それぞれ 1-2 記号) を含むテーブルを取得しました。また、フィールドには 1 つの数字のみを含めることができます (区切り記号なし| ) 検索するにはどうすればよいですか?このフィールドの特定の数字? たとえば、行を選択する必要があり、5 つしか含まれていません。または、18 と 44 だけですか?
2 に答える
1
クエリ中に、このようにフィールドの最初と最後にパイプを追加できます。
SELECT *
FROM YOUR TABLE
WHERE INSTR( CONCAT('|', field, '|'), '|1|' ) >0
あなたの行を返します。
SELECT *
FROM YOUR TABLE
WHERE INSTR( CONCAT('|', field, '|'), '|31|' ) >0
行が返されません。
SELECT *
FROM YOUR TABLE
WHERE (INSTR(concat('|',field,'|'), '|18|') >0 and INSTR(concat('|',field,'|'), '|44|') >0)
18 と 44 の両方がフィールドにある場合に返されます。
于 2012-04-22T09:50:29.823 に答える
0
これを試して:
SELECT * FROM table WHERE field REGEXP '(^|\|)digit_you_want_add_here($|\|)'
于 2012-04-22T05:23:03.330 に答える