MySQL mendukung beberapa fungsi yang dapat digunakan untuk mengekstrak posisi indeks atau nilai aktual dari sekumpulan nilai yang disusun sebagai larik. ELT() dan FIELD() adalah contoh dari fungsi tersebut. Mari kita memahami tentang mereka secara rinci.
FungsiELT() menerima banyak argumen di mana argumen pertama adalah angka. Ini mengembalikan nilai yang tersedia pada posisi yang ditentukan dalam argumen pertama.
SELECT ELT(3,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Kueri di atas menampilkan hasil sebagai "SQL Saya". Dari kumpulan nilai yang tersedia, ia mengembalikan nilai ke-3 yaitu My SQL. Ini mengembalikan NULL jika argumen pertama adalah 0, kurang dari nol, atau lebih besar dari jumlah argumen total
SELECT ELT(0,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Berikut adalah dua contoh lain yang akan mengembalikan hasil sebagai nilai nol.
SELECT ELT(31,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
SELECT ELT(-5,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Semua nilai di atas mengembalikan nilai NULL.
FILED() fungsi kebalikan dari ELT(). Ia menerima banyak argumen dan mengembalikan posisi nilai dalam array yang ditentukan sebagai nilai pertama
SELECT FIELD('My SQL','SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Di atas mengembalikan 3 sebagai nilai yang ditentukan dalam argumen pertama “My SQL” tersedia di posisi ke-3 dalam larik.
Ini mengembalikan 0 jika nilainya tidak ditentukan dalam array
SELECT FIELD('COMPUTER','SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
Hasilnya adalah 0.
Apakah Anda pernah menggunakan fungsi ini dalam logika bisnis Anda? Jika ya, saya ingin mengenal mereka.