MySQL menyertakan FIELD()
fungsi dan FIND_IN_SET()
fungsi yang keduanya mengembalikan posisi string dalam daftar. Namun, fungsi-fungsi ini bekerja sedikit berbeda satu sama lain.
Perbedaan utama antara kedua fungsi ini adalah:
FIND_IN_SET()
mengembalikan posisi indeks string dalam daftar string.FIELD()
mengembalikan posisi indeks string dalam daftar argumen.
Jadi satu fungsi mencari daftar string , dan fungsi lainnya mencari daftar argumen .
Sintaks
Pertama mari kita lihat sintaks dari dua fungsi:
FIELD()
Sintaks untuk FIELD()
fungsinya seperti ini:
FIELD(str,str1,str2,str3,...)
Ini terdiri dari argumen awal, diikuti oleh beberapa argumen berikutnya. Argumen berikutnya adalah apa yang dicari – berapa pun jumlahnya.
FIND_IN_SET()
Sintaks untuk FIND_IN_SET()
fungsinya seperti ini:
FIND_IN_SET(str,strlist)
Ini terdiri dari argumen awal, diikuti oleh satu argumen lagi. Argumen kedua berisi daftar string yang akan dicari.
Contoh
FIELD()
Berikut ini contoh FIELD()
fungsi beraksi:
SELECT FIELD('horse', 'Cat','Dog','Horse') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 3 | +--------+
FIND_IN_SET()
Dan begini caranya FIND_IN_SET()
fungsi akan dibangun untuk mendapatkan hasil yang sama:
SELECT FIND_IN_SET('horse', 'Cat,Dog,Horse') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 3 | +--------+