Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana Fungsi INSTR() Bekerja di MySQL

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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak ditemukan driver yang cocok untuk 'jdbc:mysql://localhost:3306/mysql

  2. Kolom tidak dikenal dalam kesalahan 'daftar bidang' pada permintaan Pembaruan MySQL

  3. Kendala MySQL DROP FOREIGN KEY

  4. Bagaimana menemukan data yang tidak ada dari Tabel lain dengan BERGABUNG?

  5. Cara Memindahkan Semua Database MySQL Dari Server Lama ke Server Baru