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

Sådan returnerer du et arguments position i en liste over argumenter i MySQL

I MySQL kan du bruge FIELD() funktion til at returnere positionen af ​​en given streng eller et givet tal i en liste af argumenter. Funktionen returnerer indekset (positionen) for det første argument på listen over efterfølgende argumenter.

Syntaksen ser sådan ud:

FIELD(str,str1,str2,str3,...)

Hvor str er det element, du vil finde, og str1,str2,str3,... er den liste, du søger igennem.

Her er et eksempel:

SELECT FIELD('Homer', 'Marge', 'Homer', 'Bart') AS 'Where is Homer?';

Resultat:

+-----------------+
| Where is Homer? |
+-----------------+
|               2 |
+-----------------+

I dette eksempel er listen:'Marge', 'Homer', 'Bart' og vi søger efter strengen Homer inden for den liste. Og fordi Homer er det 2. element på listen over argumenter, er resultatet 2 .

Eksakt match

Bemærk, at det skal være et nøjagtigt match, ellers vil det returnere 0 .

For eksempel, hvis vi dropper r fra Homer , ender vi med at søge efter Home i stedet:

SELECT FIELD('Home', 'Marge', 'Homer', 'Bart') AS 'Where is Home?';

Resultat:

+-----------------+
| Where is Home? |
+-----------------+
|               0 |
+-----------------+

I dette tilfælde, selvom Homer indeholder Home , det er ikke et eksakt match, og resultatet er 0 .

 Numre

FIELD() funktion fungerer også med tal:

SELECT FIELD(1, 3, 2, 1) AS 'Where is 1?';

Resultat:

+-------------+
| Where is 1? |
+-------------+
|           3 |
+-------------+

Når alle argumenter til FIELD() er tal, sammenlignes alle argumenter som tal. Hvis alle er strenge, sammenlignes de som strenge. Hvis de er blandede, sammenlignes de som dobbelte.

FIELD() funktion er et supplement til ELT() funktion, som giver dig mulighed for at finde et listeelement efter dets placering på listen.

Se også, hvordan du returnerer positionen for et listeelement ved hjælp af FIND_IN_SET() funktion.


  1. Sådan installeres og konfigureres phpMyAdmin på CentOS 6

  2. Træk minutter fra en tidsværdi i PostgreSQL

  3. Top 3 tips, du skal vide for at skrive hurtigere SQL-visninger

  4. COS() eksempler i SQL Server