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

Cara Memilih Semuanya Sebelum/Setelah Karakter Tertentu di MySQL – SUBSTRING_INDEX()

Anda dapat menggunakan SUBSTRING_INDEX() MySQL berfungsi untuk mengembalikan semuanya sebelum atau sesudah karakter (atau karakter) tertentu dalam sebuah string.

Fungsi ini memungkinkan Anda menentukan pembatas yang akan digunakan, dan Anda dapat menentukan yang mana (jika ada lebih dari satu dalam string).

Sintaks

Berikut sintaksnya:

SUBSTRING_INDEX(str,delim,count)

Dimana str adalah string, delim adalah pembatas (dari mana Anda ingin substring di kiri atau kanan), dan count menentukan pembatas mana (jika ada beberapa kemunculan pembatas dalam string).

Perhatikan bahwa pembatas dapat berupa satu karakter atau beberapa karakter.

Contoh 1 – Pilih Semuanya di Kiri

Untuk memilih semuanya sebelum karakter tertentu, gunakan nilai positif:

SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', ',', 2);

Hasil:

Cats,Dogs

Dalam contoh ini, kami memilih semuanya sebelum koma kedua. Ini dilakukan dengan menggunakan koma (, ) sebagai pembatas, dan 2 sebagai hitungan.

Contoh 2 – Pilih Semuanya ke Kanan

Untuk memilih semuanya setelah karakter tertentu, Anda perlu menggunakan nilai negatif:

SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', ',', -2);

Hasil:

Dogs,Rabbits

Perhatikan bahwa nilai negatif berarti akan dihitung dari kanan, lalu pilih substring di sebelah kanan pembatas.

Bagaimana jika Pembatas tidak Cocok?

Jika pembatas tidak ditemukan dalam string, string akan dikembalikan sepenuhnya.

Contoh:

SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', '-', 1);

Hasil:

Cats,Dogs,Rabbits

Dalam hal ini, seluruh string dikembalikan secara penuh karena kami menggunakan tanda hubung (- ) sebagai pembatas tetapi tidak ada tanda hubung dalam string.

Kami akan mendapatkan hasil yang sama jika string berhasil mengandung pembatas, tetapi count kami melebihi jumlah pembatas dalam string.

Contoh:

SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', ',', 10);

Hasil:

Cats,Dogs,Rabbits

Sensitivitas Huruf Besar

SUBSTRING_INDEX() fungsi melakukan pencarian peka huruf besar/kecil untuk pembatas. Artinya, pembatas harus menjadi kasus yang benar sebelum cocok.

Kasus Salah

Berikut ini contoh kasus yang tidak cocok:

SELECT SUBSTRING_INDEX('Cats and Dogs and Rabbits', 'AND', 2);

Hasil:

Cats and Dogs and Rabbits

Kami mendapatkan seluruh string secara penuh.

Kasus yang Benar

Sekarang ini contoh yang sama, tetapi kasusnya cocok:

SELECT SUBSTRING_INDEX('Cats and Dogs and Rabbits', 'and', 2);

Hasil:

Cats and Dogs


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi agregat di MySQL - daftar (seperti LISTAGG di Oracle)

  2. Cara Mendapatkan Kencan Kemarin di MySQL

  3. Load balancing dengan ProxySQL Untuk Percona XtraDB Cluster

  4. Apa itu MySQL?

  5. MySQLDumper:Alat Pencadangan Database MySQL Berbasis PHP dan Perl