ELT() în MySQL

Returnează al N-lea argument dintr-o listă; inversul funcției FIELD().

Sintaxă
ELT(n, val1, val2, ...)

Ce face ELT()

ELT() alege elementul de pe poziția n din lista de argumente. Dacă n este mai mic decât 1 sau mai mare decât numărul de elemente, returnează NULL.

Este util pentru a transforma un cod numeric într-un text: 1 → „Luni”, 2 → „Marți” etc.

Parametri

Parametru Descriere
n Poziția dorită, de la 1.
val1, val2, ... Valorile din care se alege.

Ce returnează

Valoarea de pe poziția n sau NULL.

Exemple

Exemplul 1: Ziua săptămânii în română

SELECT ELT(WEEKDAY('2026-10-19') + 1,
           'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă', 'duminică') AS zi;

Rezultat

+------+
| zi   |
+------+
| luni |
+------+

Exemplul 2: Poziție inexistentă

SELECT ELT(2, 'a', 'b', 'c') AS al_doilea, ELT(5, 'a', 'b', 'c') AS inexistent;

Rezultat

+-----------+------------+
| al_doilea | inexistent |
+-----------+------------+
| b         | NULL       |
+-----------+------------+

Greșeli frecvente

  • Pornești de la 0. ELT(0, ...) returnează NULL, pentru că pozițiile încep de la 1.

Comenzi înrudite

  • FIELD(): Returnează poziția unei valori într-o listă de argumente; util pentru sortări personalizate.
  • CASE: Alege o valoare în funcție de condiții, ca un if / else în interiorul interogării.
  • WEEKDAY(): Numărul zilei din săptămână în stil european: 0 = luni, …, 6 = duminică.