MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana SUBSTRING_INDEX() Bekerja di MariaDB

Di MariaDB, SUBSTRING_INDEX() adalah fungsi string bawaan. Ini mengembalikan substring dari string sebelum sejumlah kemunculan tertentu dari pembatas yang ditentukan.

SUBSTRING_INDEX() membutuhkan tiga argumen; string, pembatas, dan hitungan (yaitu jumlah kemunculan pembatas tersebut).

Sintaks

Sintaksnya seperti ini:

SUBSTRING_INDEX(str,delim,count)

Dimana str adalah string, delim adalah pembatas, dan count adalah jumlah kemunculan pembatas yang digunakan untuk menentukan substring yang akan dikembalikan.

Jika count positif, semua yang ada di sebelah kiri pembatas akhir (dihitung dari kiri) dikembalikan. Jika count negatif, semua yang ada di sebelah kanan pembatas akhir (dihitung dari kanan) dikembalikan.

Contoh

Berikut ini contoh dasarnya:

SELECT SUBSTRING_INDEX('/users/homer/docs/cat_vids', '/', 3);

Hasil:

+-------------------------------------------------------+
| SUBSTRING_INDEX('/users/homer/docs/cat_vids', '/', 3) |
+-------------------------------------------------------+
| /users/homer                                          |
+-------------------------------------------------------+

Jumlah Negatif

Menentukan nilai negatif untuk hitungan menyebabkannya dihitung mundur dari akhir string:

SELECT SUBSTRING_INDEX('/users/homer/docs/cat_vids', '/', -3);

Hasil:

+--------------------------------------------------------+
| SUBSTRING_INDEX('/users/homer/docs/cat_vids', '/', -3) |
+--------------------------------------------------------+
| homer/docs/cat_vids                                    |
+--------------------------------------------------------+

Pembatas Tidak Ditemukan

Jika pembatas tidak ada dalam string, seluruh string dikembalikan:

SELECT SUBSTRING_INDEX('/users/homer/docs/cat_vids', '.', 3);

Hasil:

+-------------------------------------------------------+
| SUBSTRING_INDEX('/users/homer/docs/cat_vids', '.', 3) |
+-------------------------------------------------------+
| /users/homer/docs/cat_vids                            |
+-------------------------------------------------------+

Argumen Null

Jika salah satu (atau semua) argumen adalah null , SUBSTRING_INDEX() fungsi mengembalikan null :

SELECT 
    SUBSTRING_INDEX(null, '/', 3) AS "1",
    SUBSTRING_INDEX('/users/homer/docs/cat_vids', null, 3) AS "2",
    SUBSTRING_INDEX('/users/homer/docs/cat_vids', '/', null) AS "3",
    SUBSTRING_INDEX(null, null, null) AS "4";

Hasil:

+------+------+------+------+
| 1    | 2    | 3    | 4    |
+------+------+------+------+
| NULL | NULL | NULL | NULL |
+------+------+------+------+

Argumen Tidak Ada

Memanggil SUBSTRING_INDEX() tanpa meneruskan argumen apa pun menghasilkan kesalahan:

SELECT SUBSTRING_INDEX();

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SUBSTRING_INDEX'

  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 String MariaDB (Daftar Lengkap)

  2. Bagaimana RADIANS() Bekerja di MariaDB

  3. MariaDB ROWNUM() Dijelaskan

  4. Penyesuaian Kinerja Basis Data untuk MariaDB

  5. TAMPILKAN TABEL di MariaDB