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

MySQL – Функции ELT() и FILED() за извличане на позицията на индекса от списъка

MySQL поддържа някои функции, които могат да се използват за извличане на позицията на индекса или действителната стойност от набор от стойности, подредени като масив. ELT() и FIELD() са примери за такива функции. Нека разберем подробно за тях.

Функцията ELT() приема много аргументи, където първият аргумент е числото. Връща стойността, която е налична на позицията, посочена в първия аргумент.

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

Горената заявка връща резултати като „Моят SQL“. От набора от налични стойности, той връща 3-тата стойност, която е My SQL. Връща NULL, ако първият аргумент е 0, по-малък от нула или по-голям от общия брой аргументи

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


Ето още два примера, които ще върнат резултата като нулева стойност.

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

Всички по-горе връщат NULL стойност.

Функцията FILED() е точно противоположна на ELT(). Той приема много аргументи и връща позицията на стойността в масива, посочен като първа стойност

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

Посоченото по-горе връща 3, тъй като стойността, посочена в първия аргумент „Моят SQL“, е налична на 3-та позиция в масива.

Връща 0, ако стойността не е посочена в масива

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

Резултатът е 0.

Използвали ли сте някога тези функции във вашата бизнес логика? Ако да, бих искал да ги познавам.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NULL в MySQL (производителност и съхранение)

  2. Как да извикате MySQL съхранена процедура в Python

  3. Ограничение на състоянието на MySQL IN

  4. MySQL еквивалент на функцията DECODE в Oracle

  5. Предупреждение:mysql_query():3 не е валиден ресурс на MySQL-Link