Di MariaDB, FIND_IN_SET()
adalah fungsi string bawaan yang mengembalikan posisi indeks tempat pola yang diberikan muncul dalam daftar string yang ditentukan.
Ia menerima dua argumen. Yang pertama adalah pola yang ingin Anda cari. Argumen kedua adalah string yang berisi nilai yang dipisahkan koma untuk dicocokkan dengan pola.
Sintaks
Sintaksnya seperti ini:
FIND_IN_SET(pattern, strlist)
Dimana pattern
adalah pola yang ingin Anda cari, dan strlist
mewakili string nilai yang dipisahkan koma untuk ditelusuri.
Contoh
Berikut ini contoh dasarnya:
SELECT FIND_IN_SET('Green', 'Red,Green,Blue');
Hasil:
+----------------------------------------+ | FIND_IN_SET('Green', 'Red,Green,Blue') | +----------------------------------------+ | 2 | +----------------------------------------+
Dalam hal ini, polanya (Green
) muncul di posisi kedua, jadi 2
dikembalikan.
Tidak Cocok
Jika tidak ada yang cocok, 0
dikembalikan.
Contoh:
SELECT FIND_IN_SET('Nope', 'Red,Green,Blue');
Hasil:
+---------------------------------------+ | FIND_IN_SET('Nope', 'Red,Green,Blue') | +---------------------------------------+ | 0 | +---------------------------------------+
Beberapa Kecocokan
Jika ada beberapa kecocokan, hanya indeks yang pertama yang dikembalikan:
SELECT FIND_IN_SET('Dog', 'Cat,Dog,Cat,Dog,Cat');
Hasil:
+-------------------------------------------+ | FIND_IN_SET('Dog', 'Cat,Dog,Cat,Dog,Cat') | +-------------------------------------------+ | 2 | +-------------------------------------------+
Menentukan Pola Null
Memberikan null
karena argumen pertama menghasilkan null
dikembalikan:
SELECT FIND_IN_SET(null, 'Cat,Dog,Cat');
Hasil:
+----------------------------------+ | FIND_IN_SET(null, 'Cat,Dog,Cat') | +----------------------------------+ | NULL | +----------------------------------+
Menentukan Daftar String Null
Memberikan null
karena argumen kedua juga menghasilkan null
:
SELECT FIND_IN_SET('Dog', null);
Hasil:
+--------------------------+ | FIND_IN_SET('Dog', null) | +--------------------------+ | NULL | +--------------------------+
Daftar String Kosong
Jika daftar string kosong, FIND_IN_SET()
mengembalikan 0
:
SELECT FIND_IN_SET('Dog', '');
Hasil:
+------------------------+ | FIND_IN_SET('Dog', '') | +------------------------+ | 0 | +------------------------+
Koma dalam Pola
FIND_IN_SET()
tidak mengembalikan hasil yang benar jika polanya berisi koma:
SELECT FIND_IN_SET('Green,', 'Red,Green,Blue');
Hasil:
+-----------------------------------------+ | FIND_IN_SET('Green,', 'Red,Green,Blue') | +-----------------------------------------+ | 0 | +-----------------------------------------+
Argumen Tunggal
Melewati hanya satu argumen ke FIND_IN_SET()
mengembalikan kesalahan:
SELECT FIND_IN_SET('Cat');
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIND_IN_SET'
Argumen Tidak Ada
Memanggil FIND_IN_SET()
tanpa meneruskan argumen apa pun menghasilkan kesalahan:
SELECT FIND_IN_SET();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIND_IN_SET'