0

LIKE 句を使用してオートコンプリートのリストを取得しています。私が使うとき

name LIKE '%value%'

「値」を含む名前のリストが表示されますが、このリストが正しく表示されません。値「san」を指定すると、テーブルに「sanclose」がありますが、結果にこの値が表示されません。だから私は前から % ワイルドカードを削除する必要があるかもしれないと思った. したがって、フロント % ワイルドカードを削除した後

name LIKE 'value%'

今では結果が得られません。私のコラムにも全文検索インデックスがあります。

私は何かが足りないのでしょうか、それともより良い結果を得るための他の良い方法があるのでしょうか?

前もって感謝します。

これは私が試している私の完全なSQLです

SELECT z.zone_id, CONCAT(z.name,',',c.name) as zone FROM zone z LEFT JOIN country c ON z.country_id = c.country_id WHERE z.name LIKE 'span%' 
4

2 に答える 2

0

多分あなたは試してみるべきname LIKE '%value'ですか?

于 2012-11-29T09:34:16.530 に答える
0

LIKE が大文字と小文字を区別して動作する理由はわかりませんが、以下の変更でうまくいきました。

SELECT z.zone_id, CONCAT( z.name,  ',', c.name ) AS zone FROM zone z
LEFT JOIN country c ON z.country_id = c.country_id
WHERE LOWER( z.name ) LIKE  'san%'

上記のクエリで完璧な結果が得られました。助けてくれてありがとう。

于 2012-11-29T10:40:00.503 に答える