Rozdział 8: Funkcje tekstowe

Ostatnio już nie idę jak burza z pisaniem kolejnych średniej jakości tekstów na blogu. Nie oznacza to jednak, że przestaję całkowicie, nie! Idziemy z tematem kolejnym, mianowicie funkcje w języku SQL. Na pierwszy ogień idą funkcje tekstowe.

CONCAT()

Jako parametry przyjmuje wartości tekstowe, można również wpisać nazwę kolumny. Zwraca również wartość tekstową która jest wynikiem połączenia przekazanych argumentów.

Przykład:

SELECT `id`, concat(`title`, ' - ', `platform`) as gra FROM `games`;

Wynik:

idgra
1GTA4 – pc
2CSGO – pc
3Super Mario – pc
4THPS2 – psx
5Diablo – pc

CONCAT_WS()

Funkcja bardzo podobna do powyższej, różnica tkwi w tym, że przekazane argumenty zostaną oddzielone pierwszym z nich. Aby więc uzyskać taki sam efekt jak powyżej, możemy zapisać zapytanie tak:

Przykład:

SELECT `id`, CONCAT_WS(' - ', `title`, `platform`) as `gra` FROM `games`;

LOWER()

Funkcja zwraca ten sam tekst jaki przekazaliśmy w postaci argumentu, natomiast zmieniając wszystkie duże litery na małe.

UPPER()

Dokładna odwrotność funkcji „lower()„, czyli przyjmuje ona ciąg znaków, zwraca dokładnie ten sam, natomiast zmieniając wszystkie znaki małe, na duże.

LEFT()

Funkcja „left()” zwraca począwszy od strony lewej określoną ilość znaków. Jako pierwszy parametr przyjmuje nazwę kolumny, a jako drugi ilość interesujących nas znaków.

Przykład:

SELECT left(`title`, 2) FROM `games`;

RIGHT()

Funkcja „right()” zwraca począwszy od strony prawej określoną ilość znaków. Jako pierwszy parametr przyjmuje nazwę kolumny, a jako drugi ilość interesujących nas znaków.

TRIM()

Usuwa zbędne spacje z początku i końcu rekordu.

LTRIM()

Usuwa zbędne spacje z początku rekordu.

RTRIM()

Usuwa zbędne spacje z końca rekordu.

REPLACE()

Z podanej kolumny wyszukuje, określony ciąg znaków i zamienia go.
Jako pierwszy parametr podajemy kolumnę, jako drugi parametr ciąg znaków który chcemy wyszukać i ostatecznie podmienić. Trzecim parametrem jest ciąg znaków służący do podmiany.

SUBSTRING()

Zwraca określoną ilość znaków z rekordu. Jako pierwszy parametr przyjmuje nazwę kolumny. Jako drugi parametr przyjmuje początkową wartość pozycji, trzeci opcjonalny parametr to pozycja końcowa.

Przykład:

SELECT SUBSTRING(`title`, 1, 2) FROM `games`;

SPACE()

Zwraca określoną ilość spacji (podaną jako parametr).

Przykład:

SELECT CONCAT(`title`, SPACE(3), `price`) FROM `games`;

REVERSE()

Zwraca odwrócony ciąg znaków, jako argument podajemy nazwę kolumny.

LENGTH()

Funkcja zwraca ilość występujących znaków w podanej jako argument wartości (nazwy kolumny).

INSTR()

Funkcja zwraca pozycję w której znajduje się znak, lub ciąg znaków podany jako drugi parametr. Jako pierwszy parametr przyjmuje nazwę interesującej nas kolumny.