Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да върнете позицията на аргумент в списък с аргументи в MySQL

В MySQL можете да използвате FIELD() функция за връщане на позицията на даден низ или число в списък с аргументи. Функцията връща индекса (позицията) на първия аргумент в списъка с последващи аргументи.

Синтаксисът е така:

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

Където str е елементът, който искате да намерите, и str1,str2,str3,... е списъкът, в който търсите.

Ето един пример:

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

Резултат:

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

В този пример списъкът е:'Marge', 'Homer', 'Bart' и търсим низа Homer в този списък. И тъй като Homer е вторият елемент в списъка с аргументи, резултатът е 2 .

Точно съвпадение

Имайте предвид, че трябва да е точно съвпадение, в противен случай ще върне 0 .

Например, ако пуснем r от Homer , в крайна сметка търсим Home вместо това:

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

Резултат:

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

В този случай, въпреки че Homer съдържа Home , не е точно съвпадение и резултатът е 0 .

 Числа

FIELD() функцията работи и с числа:

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

Резултат:

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

Когато всички аргументи към FIELD() са числа, всички аргументи се сравняват като числа. Ако всички са низове, те се сравняват като низове. Ако са смесени, те се сравняват като двойни.

FIELD() функцията е допълнение към ELT() функция, която ви позволява да намерите елемент от списъка по неговата позиция в списъка.

Вижте също как да върнете позицията на списъчен елемент с помощта на FIND_IN_SET() функция.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка при събитие в Mysql при използване на php

  2. mysql изберете група сума по дата

  3. Да съкратите всички таблици в MySQL база данни с една команда?

  4. Как да ограничим резултатите в MySQL, PostgreSQL и SQLite

  5. MySQL:ПРОМЕНИ ТАБЛИЦА, ако колоната не съществува