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 | +--------+