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

Bagaimana FIND_IN_SET() Bekerja di MariaDB

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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Melindungi Database MySQL atau MariaDB Anda Dari SQL Injection:Bagian Kedua

  2. Bagaimana RTRIM_ORACLE() Bekerja di MariaDB

  3. Bagaimana QUOTE() Bekerja di MariaDB

  4. Cara Mendapatkan Nilai yang Tidak Mengandung Angka di MariaDB

  5. Kembalikan Baris Acak dari Tabel di MariaDB