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'