これを行うためのいくつかの異なる方法:
より高速なもの(パフォーマンスの観点から)は次のとおりです。select * FROM Table where keyword LIKE '%value%'
これの秘訣は、ワイルドカードである%を配置することです。これは、この値で終わるか始まるすべてを検索することを意味します。
より柔軟ですが(少し)遅いものは、REGEXP関数である可能性があります:
Select * FROM Table WHERE keyword REGEXP 'value'
これは正規表現の力を利用しているので、好きなだけ精巧にできます。ただし、上記のように残すと、一種の「貧乏人のGoogle」になり、検索を全体的なフィールドの断片にすることができます。
名前を検索しようとすると、粘着性のある部分が入ります。たとえば、SMIを検索した場合、どちらも「smith」という名前を検索します。ただし、名前のフィールドが区切られている場合は、どちらも「JonSmith」を検出しません。したがって、Jon OR Smith OR Jon Smith OR Smith、Jonのいずれかを検索するには、連結を行う必要があります。そこから本当に雪だるま式になります。
もちろん、ある種の高度な検索を実行している場合は、それに応じてクエリを調整する必要があります。したがって、たとえば、最初、最後、住所を検索する場合、クエリはそれぞれについてテストする必要があります。
SELECT * FROM table WHERE first LIKE '%value%' OR last LIKE '%value%' OR address LIKE '%value'