部分文字列を含む文字列を検索するクエリを作成しようとしています。次の 2 つの方法の違いは何ですか?
SELECT * FROM table WHERE names LIKE '%bob%'
SELECT * FROM table WHERE locate('bob', names)
私は最初に LIKE の使用法を学びましたが、英語 (ラテン語) と中国語 (big5) を比較しているという「不正な照合の組み合わせ..」というエラーが発生していました。照合の問題を修正する方法をグーグルで検索しているときに、locate() に出くわしました。locate() を使い続けることができるかどうか、またはそれに欠点があるかどうか疑問に思っています。