MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak FIELD() działa w MariaDB

W MariaDB, FIELD() jest wbudowaną funkcją ciągu, która zwraca pozycję indeksu ciągu lub liczby pasującej do określonego wzorca.

Akceptuje dwa lub więcej argumentów. Pierwszy to wzór, który chcesz wyszukać. Wszystkie kolejne argumenty są ciągami lub liczbami, do których należy dopasować wzorzec.

Składnia

Składnia wygląda tak:

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

Gdzie pattern jest wzorcem, a str1[, str2,…] reprezentuje ciągi lub liczby.

Przykład

Oto podstawowy przykład:

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

Wynik:

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

W tym przypadku wzorzec (Green ) występuje na drugiej pozycji, więc 2 jest zwracany.

Wrażliwość na wielkość liter

FIELD() funkcja traktuje łańcuchy jako niewrażliwe na wielkość liter.

Przykład:

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

Wynik:

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

Brak dopasowania

Jeśli nie ma dopasowania, 0 jest zwracany.

Przykład:

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

Wynik:

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

Liczby

Gdy wszystkie argumenty są liczbami, są traktowane jako liczby. W przeciwnym razie są traktowane jako dublety.

Przykład:

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

Wynik:

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

Wiele meczów

Jeśli istnieje wiele dopasowań wzorca, zwracany jest tylko indeks pierwszego z nich:

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

Wynik:

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

Określanie wzorca zerowego

Podanie null jako pierwszy argument daje wynik 0 :

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

Wynik:

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

Podawanie tylko jednego argumentu ciągu

Podanie pojedynczego argumentu do dopasowania jest prawidłowe:

SELECT FIELD(205, 205);

Wynik:

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

Pojedynczy argument

Ale przekazanie tylko jednego argumentu do FIELD() zwraca błąd:

SELECT FIELD(205);

Wynik:

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

Brakujący argument

Wywołanie FIELD() bez przekazania żadnych argumentów powoduje błąd:

SELECT FIELD();

Wynik:

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. MariaDB i dane zewnętrzne

  2. Wskazówki i porady dotyczące rejestrowania audytu dla MariaDB

  3. 6 sposobów na sprawdzenie wersji MariaDB

  4. Jak POW() działa w MariaDB

  5. Jak przeprowadzić migrację z Oracle DB do MariaDB