Saya memiliki tabel user
yang mengandung kolom name
, saya ingin melakukan pencarian data berdasarkan kolom tersebut, posisi teks yang saya cari tidak perlu mempertimbangkan posisi.
Berikut tabel yang saya pakai:
mysql> select * from user;
+----+---------+-------------------+
| id | name | email |
+----+---------+-------------------+
| 1 | budi | [email protected] |
| 2 | bambang | [email protected] |
| 3 | dodi | [email protected] |
| 4 | caca | [email protected] |
| 5 | nissa | [email protected] |
| 6 | tisa | [email protected] |
+----+---------+-------------------+
Ketika saya melakukan pencarian menggunakan string is
saya ingin agar yang muncul adalah nissa
dan tisa
. Saya sudah nyoba menggunakan select * from user where name LIKE 'is';
malah kosong.
Tambahkan tanda persentase di awal dan akhir teks yang ingin dicari, seperti ini: %is%
, dimana pun posisinya semua name
yang mengandung teks is
akan dimasukkan ke hasil.
Contoh:
mysql> select * from user where name LIKE '%is%';
+----+-------+-----------------+
| id | name | email |
+----+-------+-----------------+
| 5 | nissa | [email protected] |
| 6 | tisa | [email protected] |
+----+-------+-----------------+
Kalau kita hanya menempatkan persentase di awal, seperti %a
, MySQL akan melakukan pencarian teks (`name`) yang diakhiri dengan a
. Kalau tanda persentasenya di akhir, misalnya b%
, akan mencari teks yang diawali dengan b
.
Kamu tau jawabannya?
Ayo bergabung bersama lebih dari 200.000 pengguna lainnya!