Stringi – Funkcje

Pozycje liczone są od nr. 1

INSTR zwraca pozycję wystąpienia separatora / znaku.

> SELECT INSTR('foobarbar', 'bar');   -> 4

SUBSTRING_INDEX szuka separatora sep w ciągu str i zwraca podciąg przed wystąpieniem n-tego (count)  separatora sep. Jeśli count jest ujemny – zmienia kierunek – szuka sep od końca i zwraca ciąg do końca.

SUBSTRING_INDEX(str, sep, count)

Szuka separatora @ w nazwie użytkownika (john@localhost) i zwraca nazwę bez tego separatora @

> SELECT SUBSTRING_INDEX( CURRENT_USER(), '@', 1);     -> root

> SELECT SUBSTRING_INDEX('www.mariadb.org', '.', 2);   -> 'www.mariadb'

> SELECT SUBSTRING_INDEX('www.mariadb.org', '.', -2);  -> 'mariadb.org'

SUBSTRING – zwraca podciąg od pozycji

SUBSTRING(str,pos),                   - zwraca podciąg od pozycji pos do końca
SUBSTRING(str,pos,len),               - zwraca podciąg o długości len od pos

Zwraca podciąg od pozycji pos

> SELECT SUBSTRING('Quadratically',5);        -> 'ratically'
> SELECT SUBSTRING('Quadratically',5,6);      -> 'ratica'
> SELECT SUBSTRING('Sakila', -3);             -> 'ila'
> SELECT SUBSTRING('Sakila', -5, 3);          -> 'aki'

STRCMP – porównanie ciągów – zwraca 0 jeśli ciągi takie same,

-1 jeśli pierwszy jest mniejszy niż drugi, 1 jeśli pierwszy jest większy niż drugi

STRCMP( str1, str2)
> SELECT STRCMP('text', 'text2');   -> -1
> SELECT STRCMP('text2', 'text');   -> 1
> SELECT STRCMP('text', 'text');    -> 0

Dodaj komentarz