sql >> Database >  >> RDS >> Mysql

MySQL – ELT() en FILED() functies om indexpositie uit lijst te extraheren

MySQL ondersteunt enkele functies die kunnen worden gebruikt om de indexpositie of de werkelijke waarde te extraheren uit een reeks waarden die als een array zijn gerangschikt. ELT() en FIELD() zijn voorbeelden van dergelijke functies. Laten we ze in detail begrijpen.

ELT()-functie accepteert veel argumenten waarbij het eerste argument het getal is. Het geeft de waarde terug die beschikbaar is op de positie die is opgegeven in het eerste argument.

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

De bovenstaande query retourneert de resultaten als 'Mijn SQL'. Uit de set beschikbare waarden wordt de derde waarde geretourneerd, namelijk Mijn SQL. Het geeft NULL terug als het eerste argument 0, kleiner dan nul of groter is dan het totale aantal argumenten

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


Hier zijn nog twee voorbeelden die het resultaat als een null-waarde retourneren.

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

Alle bovenstaande retourneert een NULL-waarde.

FILED() functie is precies het tegenovergestelde van ELT(). Het accepteert veel argumenten en retourneert de positie van de waarde in de array die is opgegeven als de eerste waarde

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

Het bovenstaande retourneert 3 als de waarde die is opgegeven in het eerste argument "Mijn SQL" beschikbaar is op de 3e positie in de array.

Het retourneert 0 als de waarde niet is opgegeven in de array

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

Het resultaat is 0.

Heeft u deze functies ooit in uw bedrijfslogica gebruikt? Zo ja, dan zou ik ze graag willen weten.


  1. Nde max salaris in Oracle

  2. NUMTODSINTERVAL() Functie in Oracle

  3. Hoe MySQL op Ubuntu te installeren en configureren

  4. Hoe CHR() werkt in MariaDB