INSTR()
fungsi mengembalikan posisi kemunculan pertama substring dalam string. Pada dasarnya, ia melakukan hal yang sama dengan sintaks dua argumen dari LOCATE()
fungsi tidak (kecuali urutan argumen dibalik).
Sintaks
Sintaksnya seperti ini:
INSTR(str,substr)
Dimana str
adalah string yang ingin Anda cari, dan substr
adalah substring yang Anda cari.
Contoh 1 – Penggunaan Dasar
SELECT INSTR('Cats and dogs like to run', 'dogs') AS Result;
Hasil:
+--------+ | Result | +--------+ | 10 | +--------+
Dalam hal ini, string dogs
dimulai dari posisi 10.
Contoh 2 – Tidak Peka Huruf Besar/Kapital
Tidak peka huruf besar/kecil:
SELECT INSTR('Cats and dogs like to run', 'DOGS') AS 'Result 1', INSTR('Cats and DOGS like to run', 'dogs') AS 'Result 2';
Hasil:
+----------+----------+ | Result 1 | Result 2 | +----------+----------+ | 10 | 10 | +----------+----------+
Contoh 3 – Kecocokan Sebagian
Tidak masalah jika istilah pencarian Anda hanya mewakili bagian dari sebuah kata, itu akan tetap cocok (setelah semua, Anda hanya mencari substring dalam string):
SELECT INSTR('Cats and dogs like to run', 'do') AS Result;
Hasil:
+--------+ | Result | +--------+ | 10 | +--------+
Spasi masih merupakan bagian dari string. Jadi, Anda dapat mencari ruang pertama jika perlu:
SELECT INSTR('Cats and dogs like to run', ' ') AS Result;
Hasil:
+--------+ | Result | +--------+ | 5 | +--------+
Contoh 4 – Kejadian Pertama Saja
Ingat, hanya posisi kemunculan pertama yang dikembalikan:
SELECT INSTR('Cats and dogs like to run', 'a') AS Result;
Hasil:
+--------+ | Result | +--------+ | 2 | +--------+
Contoh 5 – Ketika Substring Tidak Dapat Ditemukan
Jika substring tidak ditemukan, hasil dari 0
dikembalikan:
SELECT INSTR('Cats and dogs like to run', 'rabbit') AS Result;
Hasil:
+--------+ | Result | +--------+ | 0 | +--------+
Contoh 6 – Jumlah Parameter Salah
Jika Anda menghilangkan salah satu parameter, Anda akan mendapatkan pesan kesalahan:
SELECT INSTR('Cats and dogs like to run') AS Result;
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'INSTR'
Anda juga akan mendapatkan kesalahan jika memberikan terlalu banyak parameter:
SELECT INSTR('Cats and dogs like to run', 'dogs', 'cats') AS Result;
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'INSTR'