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

Как работи FIELD() в MariaDB

В MariaDB, FIELD() е вградена функция за низ, която връща позицията на индекса на низа или числото, съответстващо на посочения шаблон.

Приема два или повече аргумента. Първият е моделът, който искате да търсите. Всички последващи аргументи са низовете или числата, за които да съпоставим шаблона.

Синтаксис

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

FIELD(pattern, str1[,str2,...])

Където pattern е шаблонът и str1[, str2,…] представлява низовете или числата.

Пример

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

SELECT FIELD('Green', 'Red', 'Green', 'Blue');

Резултат:

+----------------------------------------+
| FIELD('Green', 'Red', 'Green', 'Blue') |
+----------------------------------------+
|                                      2 |
+----------------------------------------+

В този случай шаблонът (Green ) се появява на втора позиция и така 2 се връща.

Чувствителност на регистрите

FIELD() функцията третира низовете като нечувствителни към главни букви.

Пример:

SELECT FIELD('BLUE', 'Red', 'Green', 'Blue');

Резултат:

+---------------------------------------+
| FIELD('BLUE', 'Red', 'Green', 'Blue') |
+---------------------------------------+
|                                     3 |
+---------------------------------------+

Няма съвпадение

Ако няма съвпадение, 0 се връща.

Пример:

SELECT FIELD('Go', 'Red', 'Green', 'Blue');

Резултат:

+-------------------------------------+
| FIELD('Go', 'Red', 'Green', 'Blue') |
+-------------------------------------+
|                                   0 |
+-------------------------------------+

Числа

Когато всички аргументи са числа, те се третират като числа. В противен случай те се третират като двойници.

Пример:

SELECT FIELD(3, 40, 2, 18, 10, 3);

Резултат:

+----------------------------+
| FIELD(3, 40, 2, 18, 10, 3) |
+----------------------------+
|                          5 |
+----------------------------+

Множество съвпадения

Ако има няколко съвпадения на шаблона, се връща само индексът на първия:

SELECT FIELD(3, 40, 3, 18, 10, 3);

Резултат:

+----------------------------+
| FIELD(3, 40, 3, 18, 10, 3) |
+----------------------------+
|                          2 |
+----------------------------+

Указване на нулев модел

Предоставяне на null тъй като първият аргумент води до 0 :

SELECT FIELD(null, 1, 2, 3);

Резултат:

+----------------------+
| FIELD(null, 1, 2, 3) |
+----------------------+
|                    0 |
+----------------------+

Предоставяне само на един низов аргумент

Предоставянето на единичен аргумент за съвпадение е валидно:

SELECT FIELD(205, 205);

Резултат:

+-----------------+
| FIELD(205, 205) |
+-----------------+
|               1 |
+-----------------+

Единичен аргумент

Но подаване само на един аргумент към FIELD() връща грешка:

SELECT FIELD(205);

Резултат:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIELD'

Липсващ аргумент

Извикване на FIELD() без подаване на аргументи води до грешка:

SELECT FIELD();

Резултат:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIELD'

  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 Galera Cluster Streaming репликация:Част първа

  2. MariaDB JSON_REPLACE() Обяснено

  3. Как да върнете номера на деня с суфикс в MariaDB

  4. Как LPAD() работи в MariaDB

  5. 11 функции за получаване на ден, месец и година от дата в MariaDB