Dua opsi:
-
Gunakan
LIKE
kata kunci, bersama dengan tanda persen dalam stringselect * from table where field like '%a%' or field like '%b%'.
(catatan:Jika string pencarian Anda berisi tanda persen, Anda harus menghindarinya)
-
Jika Anda mencari kombinasi string yang lebih kompleks daripada yang Anda tentukan dalam contoh, Anda dapat menggunakan ekspresi reguler (regex):
Lihat manual MySQL untuk lebih lanjut tentang cara menggunakannya:http:// /dev.mysql.com/doc/refman/5.1/en/regexp.html
Dari jumlah tersebut, menggunakan LIKE
adalah solusi yang paling umum -- ini adalah SQL standar, dan umum digunakan. Regex kurang umum digunakan tetapi jauh lebih kuat.
Perhatikan bahwa opsi mana pun yang Anda gunakan, Anda harus menyadari kemungkinan implikasi kinerja. Mencari sub-string seperti ini berarti kueri harus memindai seluruh tabel. Jika Anda memiliki tabel yang besar, ini bisa membuat kueri menjadi sangat lambat, dan tidak ada jumlah pengindeksan yang akan membantu.
Jika ini merupakan masalah bagi Anda, dan Anda perlu mencari hal yang sama berulang kali, Anda mungkin lebih suka melakukan sesuatu seperti menambahkan bidang bendera ke tabel yang menetapkan bahwa bidang string berisi sub- string. Jika Anda tetap memperbarui bidang bendera ini saat Anda menyisipkan catatan pembaruan, Anda cukup menanyakan bendera saat Anda ingin mencari. Ini dapat diindeks, dan akan membuat kueri Anda jauh lebih cepat. Apakah sepadan dengan usaha untuk melakukannya terserah Anda, itu akan tergantung pada seberapa buruk kinerjanya menggunakan LIKE
.