1

さて、私はInnoDBにテーブルを持っています。TEXTフィールド(varcharではない)である「spellings」と呼ばれる列があります。このコラムでは、何かを綴る方法が複数あり、それぞれが改行で区切られています。たとえば、行の1つは次のとおりです。

Soulcalibur
Soul Calibur

次に、この情報を含む別の行があります

Soulcalibur II
Soulcalibur 2
Soul Calibur II
Soul Calibur 2

ここで、「Soul Calibur」を含む行を検索するとします。使用しているのは、次のとおりです。

SELECT * FROM games WHERE spellings LIKE '%Soul Calibur%'

これに伴う問題は、技術的には2番目の行に「SoulCalibur」があるため、両方の行が返されることです。MySQLクエリにSoulCaliburをクエリする方法はありますか?これは、行に正確にSoulCaliburを含むフィールドのみを表示します。基本的に、改行を解析した後の完全一致。

%を削除すると、最初の行が技術的には機能しないため、機能しませんSoulcalibur\nSoul Calibur

4

1 に答える 1

0

改行にはchar(10)を使用する必要があると思います。したがって、CONCAT('%Soul Calibur'、CHAR(10)、'%')のように試してください

于 2013-02-17T05:23:59.100 に答える