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

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

В MariaDB, INSTR() е вградена функция за низ, която връща позицията на първото появяване на подниз в друг низ.

INSTR() е подобен на LOCATE() функция, с изключение на LOCATE() предоставя възможност за определяне на начална позиция за търсене. Освен това редът на аргументите е обърнат между тези две функции.

Синтаксис

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

INSTR(str,substr)

Където str е низът, substr е поднизът за намиране.

Пример

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

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

Резултат:

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

Регистърът не е чувствителен

INSTR() извършва търсене без значение на главни и малки букви:

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

Резултат:

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

Множество събития

Ако поднизът се среща повече от веднъж, се връща само позицията на първия:

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

Резултат:

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

Частично съвпадение

Ако поднизът е част от по-голяма дума, той все още е съвпадение:

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

Резултат:

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

Но ако низът е само част от подниза, това не е съвпадение:

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

Резултат:

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

Интервали

Знакът за интервал все още е низ, така че можем да включим интервали в подниза, дори ако това е единственият знак:

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

Резултат:

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

Празен низ

Ето какво се случва, когато поднизът е празен низ:

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

Резултат:

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

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

Ако поднизът не е намерен в низа, INSTR() връща 0 :

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

Резултат:

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

Нулеви аргументи

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

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

Резултат:

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

Предоставяне на грешен брой аргументи

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

SELECT INSTR('hot');

Резултат:

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. Как работи FROM_UNIXTIME() в MariaDB

  2. Как да стартирате SHOW LOCALES в MariaDB

  3. Как да извадите минути от стойност на дата и час в MariaDB

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

  5. MariaDB JSON_QUERY() Обяснено