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

3 Cara Menemukan Posisi Substring dalam String di MySQL

MySQL memiliki sejumlah fungsi string yang mengembalikan posisi substring dalam string. Lebih khusus lagi, mereka mengembalikan posisi kemunculan pertama dalam string (atau kemunculan pertama setelah titik awal tertentu).

Fungsi yang saya maksud adalah sebagai berikut:

  • INSTR()
  • LOCATE()
  • POSITION()

Di bawah ini adalah ikhtisar masing-masing.

INSTR()

INSTR() fungsi mengembalikan kemunculan pertama substring dalam string.

Berikut sintaksnya:

INSTR(str,substr)

Dimana str adalah string yang ingin Anda cari, dan substr adalah substring yang Anda cari.

Contoh

SELECT INSTR('Cats and dogs like to run', 'dogs') AS Result;

Hasil:

+--------+
| Result |
+--------+
|     10 |
+--------+

Dalam hal ini, string dogs dimulai dari posisi 10.

Jika substring tidak ditemukan, hasil dari 0 dikembalikan:

SELECT INSTR('Cats and dogs like to run', 'rabbit') AS Result;

Hasil:

+--------+
| Result |
+--------+
|      0 |
+--------+

LOCATE()

LOCATE() fungsi bekerja dengan cara yang sama, kecuali untuk beberapa perbedaan; argumen berada dalam urutan yang berbeda, dan Anda dapat memberikan parameter ketiga opsional untuk menunjukkan di mana harus mulai mencari.

Oleh karena itu, Anda dapat menggunakannya dengan salah satu cara berikut:

LOCATE(substr,str)
LOCATE(substr,str,pos)

Sintaks pertama seperti INTSR() sintaks, kecuali str dan substr ditukar.

Sintaks kedua menambahkan opsional pos argumen, yang memungkinkan Anda menentukan posisi untuk mulai mencari.

Contoh Sintaks Pertama

Berikut ini contoh menggunakan sintaks pertama:

SELECT LOCATE('dogs', 'Cats and dogs like to run') AS Result;

Hasil:

+--------+
| Result |
+--------+
|     10 |
+--------+

Contoh Sintaks Kedua

Berikut adalah contoh di mana kami menentukan posisi awal untuk mulai mencari:

SELECT LOCATE('cat', 'Cats, cats, and more cats!', 6) AS Result;

Hasil:

+--------+
| Result |
+--------+
|      7 |
+--------+

Kita dapat melihat bahwa string cat dapat ditemukan di posisi 1, tetapi kami menentukan 6 sebagai posisi awal. Oleh karena itu, posisi kemunculan string berikutnya adalah yang dikembalikan.

Seperti halnya INSTR() fungsi, jika substring tidak ditemukan, 0 dikembalikan.

POSISI()

POSITION() fungsi adalah sinonim untuk LOCATE() , tetapi dengan sintaks yang sedikit berbeda.

Berikut sintaksnya:

POSITION(substr IN str)

Ini adalah sinonim untuk yang berikut:

LOCATE(substr,str)

Jadi, kita bisa menulis ulang salah satu contoh sebelumnya sebagai berikut:

SELECT POSITION('dogs' IN 'Cats and dogs like to run') AS Result;

Hasil:

+--------+
| Result |
+--------+
|     10 |
+--------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. menampilkan data dari database SQL ke tabel php/html

  2. Jalankan MySQLDump tanpa Mengunci Tabel

  3. SQL Query Untuk Membuat Database Di MySQL

  4. Keamanan Basis Data 101:Keamanan dalam Basis Data Sumber Terbuka

  5. Bergabung dengan tiga tabel menggunakan MySQL