Di MariaDB, FIELD()
adalah fungsi string bawaan yang mengembalikan posisi indeks string atau angka yang cocok dengan pola yang ditentukan.
Ia menerima dua atau lebih argumen. Yang pertama adalah pola yang ingin Anda cari. Semua argumen berikutnya adalah string atau angka yang cocok dengan polanya.
Sintaks
Sintaksnya seperti ini:
FIELD(pattern, str1[,str2,...])
Dimana pattern
adalah polanya, dan str1[, str2,…]
mewakili string atau angka.
Contoh
Berikut ini contoh dasarnya:
SELECT FIELD('Green', 'Red', 'Green', 'Blue');
Hasil:
+----------------------------------------+ | FIELD('Green', 'Red', 'Green', 'Blue') | +----------------------------------------+ | 2 | +----------------------------------------+
Dalam hal ini, polanya (Green
) muncul di posisi kedua, jadi 2
dikembalikan.
Sensitivitas Huruf Besar
FIELD()
function memperlakukan string sebagai case-insensitive.
Contoh:
SELECT FIELD('BLUE', 'Red', 'Green', 'Blue');
Hasil:
+---------------------------------------+ | FIELD('BLUE', 'Red', 'Green', 'Blue') | +---------------------------------------+ | 3 | +---------------------------------------+
Tidak Cocok
Jika tidak ada yang cocok, 0
dikembalikan.
Contoh:
SELECT FIELD('Go', 'Red', 'Green', 'Blue');
Hasil:
+-------------------------------------+ | FIELD('Go', 'Red', 'Green', 'Blue') | +-------------------------------------+ | 0 | +-------------------------------------+
Angka
Ketika semua argumen adalah angka, mereka diperlakukan sebagai angka. Jika tidak, mereka akan diperlakukan sebagai ganda.
Contoh:
SELECT FIELD(3, 40, 2, 18, 10, 3);
Hasil:
+----------------------------+ | FIELD(3, 40, 2, 18, 10, 3) | +----------------------------+ | 5 | +----------------------------+
Beberapa Kecocokan
Jika ada beberapa kecocokan pola, hanya indeks yang pertama yang dikembalikan:
SELECT FIELD(3, 40, 3, 18, 10, 3);
Hasil:
+----------------------------+ | FIELD(3, 40, 3, 18, 10, 3) | +----------------------------+ | 2 | +----------------------------+
Menentukan Pola Null
Memberikan null
karena argumen pertama menghasilkan 0
:
SELECT FIELD(null, 1, 2, 3);
Hasil:
+----------------------+ | FIELD(null, 1, 2, 3) | +----------------------+ | 0 | +----------------------+
Menyediakan Hanya Satu Argumen String
Memberikan satu argumen yang cocok adalah valid:
SELECT FIELD(205, 205);
Hasil:
+-----------------+ | FIELD(205, 205) | +-----------------+ | 1 | +-----------------+
Argumen Tunggal
Tetapi hanya meneruskan satu argumen ke FIELD()
mengembalikan kesalahan:
SELECT FIELD(205);
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIELD'
Argumen Tidak Ada
Memanggil FIELD()
tanpa meneruskan argumen apa pun menghasilkan kesalahan:
SELECT FIELD();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIELD'