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

Изберете Всичко преди или след определен символ в MariaDB

В MariaDB можете да използвате SUBSTRING_INDEX() функция за връщане на всичко преди или след определен знак (или знаци) в низ.

Тази функция приема три аргумента; низът, разделителят и броят на срещанията на този разделител, които да се използват за определяне на подниз за връщане.

Примери

Можем да видим как работи функцията в следните примери.

Изберете всичко преди

За да изберете всичко преди определен знак, направете третия аргумент положителна стойност:

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', 2);

Резултат:

Red,Green

В този пример избираме всичко преди втората запетая. Това се прави чрез използване на запетая (, ) като разделител и 2 като броят.

Използвах запетая в този пример, но можеше да е всеки знак или низ:

SELECT SUBSTRING_INDEX('Red or Green or Blue', ' or ', 2);

Резултат:

Red or Green

Изберете всичко след

Използвайте отрицателна стойност, за да изберете всичко след определен знак:

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', -2);

Резултат:

Green,Blue

Имайте предвид, че отрицателната стойност означава, че ще се брои отдясно, след което изберете подниз отдясно на разделителя.

Когато разделителят не е намерен

Ако разделителят не е намерен в низа, низът се връща изцяло.

Пример:

SELECT SUBSTRING_INDEX('Red,Green,Blue', '-', 1);

Резултат:

Red,Green,Blue

В този случай целият низ се връща изцяло, защото използвахме тире (- ) като разделител, но в низа нямаше тирета.

Ще получим същия резултат, ако низът прави съдържа разделителя, но нашия count надвишава броя на разделителите в низа.

Пример:

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', 10);

Резултат:

Red,Green,Blue

Чувствителност на главни и малки букви

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

Неправилен регистър

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

SELECT SUBSTRING_INDEX('Red and green and blue', 'AND', 2);

Резултат:

Red and green and blue

Получаваме целия низ изцяло.

Правилен случай

Сега ето същия пример, но където случаят съвпада:

SELECT SUBSTRING_INDEX('Red and green and blue', 'and', 2);

Резултат:

Red and green

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как MOD() работи в MariaDB

  2. Съвети и трикове за внедряване на контроли за достъп, базирани на роли в базата данни за MariaDB

  3. Как OCT() работи в MariaDB

  4. Как да съкратите текст с многоточие в MariaDB

  5. Изграждане на MySQL или MariaDB база данни в студен режим на готовност на Amazon AWS