Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak działa funkcja INSTR() w MySQL

INSTR() funkcja zwraca pozycję pierwszego wystąpienia podciągu w ciągu. Zasadniczo robi to samo, co dwuargumentowa składnia LOCATE() funkcja działa (poza tym, że kolejność argumentów jest odwrócona).

Składnia

Składnia wygląda tak:

INSTR(str,substr)

Gdzie str to ciąg, który chcesz przeszukać, a substr to podciąg, którego szukasz.

Przykład 1 – Podstawowe użycie

SELECT INSTR('Cats and dogs like to run', 'dogs') AS Result;

Wynik:

+--------+
| Result |
+--------+
|     10 |
+--------+

W tym przypadku ciąg dogs zaczyna się od pozycji 10.

Przykład 2 – wielkość liter nie jest rozróżniana

Wielkość liter nie jest rozróżniana:

SELECT 
  INSTR('Cats and dogs like to run', 'DOGS') AS 'Result 1',
  INSTR('Cats and DOGS like to run', 'dogs') AS 'Result 2';

Wynik:

+----------+----------+
| Result 1 | Result 2 |
+----------+----------+
|       10 |       10 |
+----------+----------+

Przykład 3 – Częściowe dopasowanie

Nie ma znaczenia, czy wyszukiwane hasło reprezentuje tylko część słowa, nadal będzie pasować (w końcu po prostu szukasz podciągu w ciągu):

SELECT INSTR('Cats and dogs like to run', 'do') AS Result;

Wynik:

+--------+
| Result |
+--------+
|     10 |
+--------+

Spacja jest nadal częścią ciągu. Możesz więc wyszukać pierwsze miejsce, jeśli potrzebujesz:

SELECT INSTR('Cats and dogs like to run', ' ') AS Result;

Wynik:

+--------+
| Result |
+--------+
|      5 |
+--------+

Przykład 4 – Tylko pierwsze wystąpienie

Pamiętaj, że zwracana jest tylko pozycja pierwszego wystąpienia:

SELECT INSTR('Cats and dogs like to run', 'a') AS Result;

Wynik:

+--------+
| Result |
+--------+
|      2 |
+--------+

Przykład 5 – Kiedy nie można znaleźć podciągu

Jeśli podciąg nie zostanie znaleziony, wynik 0 jest zwracany:

SELECT INSTR('Cats and dogs like to run', 'rabbit') AS Result;

Wynik:

+--------+
| Result |
+--------+
|      0 |
+--------+

Przykład 6 – Nieprawidłowa liczba parametrów

Jeśli pominiesz którykolwiek z parametrów, pojawi się błąd:

SELECT INSTR('Cats and dogs like to run') AS Result;

Wynik:

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

Otrzymasz również błąd, jeśli podasz zbyt wiele parametrów:

SELECT INSTR('Cats and dogs like to run', 'dogs', 'cats') AS Result;

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. Jak wybrać jedną z dwóch tabel w MySQL, nawet jeśli nie wszystkie wiersze w jednej tabeli mają korespondentów w drugiej?

  2. Jak obliczyć procent kolumny w MySQL?

  3. MySQL:zaznaczanie wierszy, w których kolumna jest pusta

  4. WEEKDAY() Przykłady – MySQL

  5. Przechowywanie plików w bazie danych Vs system plików