Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL – Funzioni ELT() e FILED() per estrarre la posizione dell'indice dall'elenco

MySQL supporta alcune funzioni che possono essere utilizzate per estrarre la posizione dell'indice o il valore effettivo da un insieme di valori disposti come un array. ELT() e FIELD() sono esempi di tali funzioni. Cerchiamo di capire su di loro in dettaglio.

La funzione ELT() accetta molti argomenti in cui il primo argomento è il numero. Restituisce il valore disponibile nella posizione specificata nel primo argomento.

SELECT ELT(3,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;

La query precedente restituisce i risultati come "My SQL". Dall'insieme di valori disponibili, restituisce il 3° valore che è My SQL. Restituisce NULL se il primo argomento è 0, minore di zero o maggiore del numero di argomenti totali

SELECT ELT(0,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;


Ecco altri due esempi che restituiranno il risultato come valore nullo.

SELECT ELT(31,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;
SELECT ELT(-5,'SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;

Tutto quanto sopra restituisce un valore NULL.

La funzione FILED() è esattamente l'opposto di ELT(). Accetta molti argomenti e restituisce la posizione del valore nell'array specificato come primo valore

SELECT FIELD('My SQL','SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;

Quanto sopra restituisce 3 poiché il valore specificato nel primo argomento "My SQL" è disponibile nella terza posizione nell'array.

Restituisce 0 se il valore non è specificato nell'array

SELECT FIELD('COMPUTER','SQL','ORACLE','My SQL','SQL SERVER') AS ColumnName;

Il risultato è 0.

Hai mai utilizzato queste funzioni nella tua logica aziendale? Se sì, vorrei conoscerli.