1

MySQL クエリ文字列が含まれています

こんにちは、設定したマスター文字列からの文字列を含む列値を探す mysql クエリを作成しようとしています。したがって、マスター文字列が「1234567」の場合、列の値が「1」、「2」などの結果を返すようにしたいと思います...上記のリンクは、私が見つけることができるものに限りなく近いものでしたが、必要ですそれは反対方向で比較します。

例えば。:

WHERE '%{$needle}%' LIKE `column`
4

2 に答える 2

1

さまざまな値が格納されている場所について少しあいまいです (テキストでは「マスター文字列」などの用語を使用していますが、サンプル コードでは別の名前を使用しています)。

を使用して、やりたいことができますregexp。次に例を示します。

select 'abcd6efg' regexp concat('.*[', '1234567', '].*')

正直なところ、1 つの重要な点で regex違います。左の文字列の一部が一致する場合は true を返しますが、文字列全体が一致する必要がある場合は true を返します。したがって、以下も機能します。likeregexlike

select 'abcd6efg' regexp concat('[', '1234567', ']')

明示的なワイルドカードを入れて、2 つを切り替える際の間違いを避けるのが好きです。

ここで正規表現のドキュメントを参照できます。

于 2013-10-29T22:22:55.003 に答える
0

どうですか

WHERE ? LIKE CONCAT('%', `column`, '%')

PDO または MySQLi 拡張機能を使用しているため、マスター値 (1234567)?にバインドされたパラメーターを持つプレースホルダーはどこにありますか?

確かに、非推奨の MySQL 拡張機能を使用していないことは間違いありません。

于 2013-10-29T22:26:47.150 に答える