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

Jak INSTR() działa w MariaDB

W MariaDB, INSTR() jest wbudowaną funkcją ciągu, która zwraca pozycję pierwszego wystąpienia podciągu w innym ciągu.

INSTR() jest podobny do LOCATE() funkcja, z wyjątkiem tego, że LOCATE() udostępnia opcję określenia pozycji początkowej wyszukiwania. Również kolejność argumentów jest odwrócona między tymi dwiema funkcjami.

Składnia

Składnia wygląda tak:

INSTR(str,substr)

Gdzie str jest ciągiem, substr jest podciągiem do znalezienia.

Przykład

Oto podstawowy przykład:

SELECT INSTR('The hot sun', 'hot');

Wynik:

+-----------------------------+
| INSTR('The hot sun', 'hot') |
+-----------------------------+
|                           5 |
+-----------------------------+

Nie uwzględnia wielkości liter

INSTR() wykonuje wyszukiwanie bez uwzględniania wielkości liter:

SELECT INSTR('The hot sun', 'HOT');

Wynik:

+-----------------------------+
| INSTR('The hot sun', 'HOT') |
+-----------------------------+
|                           5 |
+-----------------------------+

Wiele wystąpień

Jeśli podciąg występuje więcej niż raz, zwracana jest tylko pozycja pierwszego:

SELECT INSTR('The hot sun is really hot', 'hot');

Wynik:

+-------------------------------------------+
| INSTR('The hot sun is really hot', 'hot') |
+-------------------------------------------+
|                                         5 |
+-------------------------------------------+

Dopasowanie częściowe

Jeśli podciąg jest częścią większego słowa, nadal jest zgodny:

SELECT INSTR('The hottest sun', 'hot');

Wynik:

+---------------------------------+
| INSTR('The hottest sun', 'hot') |
+---------------------------------+
|                               5 |
+---------------------------------+

Ale jeśli ciąg jest tylko częścią podciągu, nie jest to dopasowanie:

SELECT INSTR('The hot sun', 'hottest');

Wynik:

+---------------------------------+
| INSTR('The hot sun', 'hottest') |
+---------------------------------+
|                               0 |
+---------------------------------+

Przestrzenie

Znak spacji nadal jest ciągiem, więc możemy w podłańcuch umieszczać spacje, nawet jeśli jest to jedyny znak:

SELECT INSTR('The hot sun', ' ');

Wynik:

+---------------------------+
| INSTR('The hot sun', ' ') |
+---------------------------+
|                         4 |
+---------------------------+

Pusty ciąg

Oto, co się dzieje, gdy podciąg jest pustym ciągiem:

SELECT INSTR('The hot sun', '');

Wynik:

+--------------------------+
| INSTR('The hot sun', '') |
+--------------------------+
|                        1 |
+--------------------------+

Brak dopasowania

Jeśli podciąg nie zostanie znaleziony w ciągu, INSTR() zwraca 0 :

SELECT INSTR('The hot sun', 'cold');

Wynik:

+------------------------------+
| INSTR('The hot sun', 'cold') |
+------------------------------+
|                            0 |
+------------------------------+

Argumenty zerowe

Podanie null dla dowolnego z argumentów daje wynik null :

SELECT 
    INSTR('The hot sun', null),
    INSTR(null, 'hot');

Wynik:

+----------------------------+--------------------+
| INSTR('The hot sun', null) | INSTR(null, 'hot') |
+----------------------------+--------------------+
|                       NULL |               NULL |
+----------------------------+--------------------+

Podanie niewłaściwej liczby argumentów

Wywołanie INSTR() z niewłaściwą liczbą argumentów lub bez przekazania jakichkolwiek argumentów powoduje błąd:

SELECT INSTR('hot');

Wynik:

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

  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 CURRENT_ROLE () Wyjaśnione

  2. 4 sposoby na sortowanie bazy danych w MariaDB

  3. Jak działa LPAD() w MariaDB

  4. Jak NVL() działa w MariaDB

  5. Jak działa MAKEDATE() w MariaDB