Di MariaDB, ELT() adalah fungsi string bawaan yang menerima argumen numerik, diikuti oleh serangkaian argumen string. Kemudian mengembalikan string yang sesuai dengan posisi numerik yang diberikan oleh argumen pertama.
Sintaks
Sintaksnya seperti ini:
ELT(N, str1[, str2, str3,...])
Dimana N adalah argumen numerik, dan str1[, str2, str3,…] mewakili argumen string.
Contoh
Berikut ini contoh dasarnya:
SELECT ELT(2, 'Red', 'Green', 'Blue'); Hasil:
+--------------------------------+ | ELT(2, 'Red', 'Green', 'Blue') | +--------------------------------+ | Green | +--------------------------------+
Dalam hal ini, kami menggunakan 2 untuk mengembalikan argumen string kedua.
Mengambang
Jika argumen pertama adalah FLOAT , MariaDB membulatkannya ke bilangan bulat terdekat:
SELECT
ELT(2.4, 'Red', 'Green', 'Blue') AS "2.4",
ELT(2.5, 'Red', 'Green', 'Blue') AS "2.5"; Hasil:
+-------+------+ | 2.4 | 2.5 | +-------+------+ | Green | Blue | +-------+------+
Menentukan Posisi Di Luar Jangkauan
Menentukan hasil posisi di luar jangkauan dalam null dikembalikan. Contoh di bawah.
Posisi Nol
Menyediakan 0 sebagai argumen pertama mengembalikan null :
SELECT ELT(0, 'Red', 'Green', 'Blue'); Hasil:
+--------------------------------+ | ELT(0, 'Red', 'Green', 'Blue') | +--------------------------------+ | NULL | +--------------------------------+
Posisi Negatif
Memberikan nilai negatif karena argumen pertama mengembalikan null :
SELECT ELT(-2, 'Red', 'Green', 'Blue'); Hasil:
+---------------------------------+ | ELT(-2, 'Red', 'Green', 'Blue') | +---------------------------------+ | NULL | +---------------------------------+
Saat Posisi Terlalu Besar
Jika argumen pertama adalah angka yang lebih besar dari jumlah total argumen string, ELT() mengembalikan nol:
SELECT ELT(20, 'Red', 'Green', 'Blue'); Hasil:
+---------------------------------+ | ELT(20, 'Red', 'Green', 'Blue') | +---------------------------------+ | NULL | +---------------------------------+
Posisi Non-Numerik
Jika argumen pertama bukan angka, ELT() mengembalikan null :
SELECT ELT('Two', 'Red', 'Green', 'Blue'); Hasil:
+------------------------------------+
| ELT('Two', 'Red', 'Green', 'Blue') |
+------------------------------------+
| NULL |
+------------------------------------+ Menyediakan Hanya Satu Argumen String
Memberikan argumen string tunggal adalah valid, meskipun dalam kasus ini argumen pertama harus 1 untuk menghindari null :
SELECT ELT(1, 'Red'); Hasil:
+---------------+ | ELT(1, 'Red') | +---------------+ | Red | +---------------+
String Null
Argumen string dapat berupa null tanpa mempengaruhi hasil yang lain:
SELECT ELT(3, 'Red', null, 'Blue'); Hasil:
+-----------------------------+ | ELT(3, 'Red', null, 'Blue') | +-----------------------------+ | Blue | +-----------------------------+
Meskipun, menentukan nomor yang cocok dengan null argumen string jelas akan mengembalikan null :
SELECT ELT(2, 'Red', null, 'Blue'); Hasil:
+-----------------------------+ | ELT(2, 'Red', null, 'Blue') | +-----------------------------+ | NULL | +-----------------------------+
Menentukan Posisi Null
Memberikan null karena argumen pertama menghasilkan null :
SELECT ELT(null, 'Red'); Hasil:
+------------------+ | ELT(null, 'Red') | +------------------+ | NULL | +------------------+
Argumen Tunggal
Memberikan hanya satu argumen akan mengembalikan kesalahan:
SELECT ELT(2); Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ELT'
Argumen Tidak Ada
Memanggil ELT() tanpa memberikan argumen apa pun menghasilkan kesalahan:
SELECT ELT(); Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ELT'