
Funkcja CONCAT
w SQL to jedno z podstawowych narzędzi do łączenia tekstu. Wszyscy, którzy pracują z bazami danych, prędzej czy później zetkną się z koniecznością łączenia wartości kolumn w jeden ciąg znaków. W tym artykule wyjaśnię dokładnie, jak działa CONCAT
w języku SQL oraz przedstawię praktyczne przykłady zastosowania.
Co to jest CONCAT w SQL?
Funkcja CONCAT
służy do łączenia dwóch lub więcej ciągów znaków (stringów) w jeden. Jest to funkcja wbudowana w SQL, co oznacza, że możemy jej używać w praktycznie każdej nowoczesnej bazie danych, np. MySQL, PostgreSQL, SQL Server czy Oracle.
Podstawowa składnia CONCAT
Wywołanie CONCAT
wygląda tak:
CONCAT(string1, string2, ... stringN)
Funkcja łączy wszystkie podane argumenty w jeden ciąg tekstowy. Przykładowo:
SELECT CONCAT('Hello', ' ', 'World') AS wynik;
Rezultat:
wynik |
---|
Hello World |
Łączenie kolumn w SQL
Najczęstszym zastosowaniem funkcji CONCAT
jest łączenie wartości kolumn. Załóżmy, że mamy tabelę users
:
id | imie | nazwisko |
---|---|---|
1 | Jan | Kowalski |
2 | Anna | Nowak |
Chcemy uzyskać pełne imię i nazwisko w jednej kolumnie. Możemy użyć CONCAT
w zapytaniu:
SELECT id, CONCAT(imie, ' ', nazwisko) AS pelne_imie FROM users;
Wynik zapytania:
id | pelne_imie |
---|---|
1 | Jan Kowalski |
2 | Anna Nowak |
Obsługa wartości NULL w CONCAT
Jednym z ważnych aspektów działania CONCAT
jest sposób, w jaki radzi sobie z wartościami NULL. W niektórych bazach (np. MySQL, PostgreSQL) jeśli którykolwiek argument CONCAT
jest NULL
, funkcja traktuje go jako pusty ciąg znaków.
Przykład:
SELECT CONCAT('SQL', NULL, ' Tutorial') AS wynik;
Rezultat:
wynik |
---|
SQL Tutorial |
Natomiast w SQL Server funkcja CONCAT
automatycznie konwertuje wartości NULL
do pustego ciągu, więc nie powoduje przerwania konkatenacji.
Różnica między CONCAT i operatorem ||
Warto wiedzieć, że w niektórych systemach bazodanowych można użyć operatora ||
do konkatenacji zamiast funkcji CONCAT
.
Przykład w PostgreSQL:
SELECT 'SQL' || ' ' || 'Tutorial';
Jednak operator ||
może działać inaczej w zależności od bazy, dlatego w celu zapewnienia zgodności warto używać funkcji CONCAT
.
Łączenie liczb i tekstu
Jeśli chcesz połączyć liczby z tekstem, nie musisz ich konwertować na stringi ręcznie – CONCAT
zrobi to za Ciebie.
SELECT CONCAT('Numer zamówienia: ', 12345) AS wynik;
Rezultat:
wynik |
---|
Numer zamówienia: 12345 |
Alternatywa: CONCAT_WS
Jeśli chcemy dodać separatory między łączonymi tekstami, warto użyć funkcji CONCAT_WS
(concatenate with separator). Składnia:
CONCAT_WS(seperator, string1, string2, ... stringN)
Przykład:
SELECT CONCAT_WS(', ', 'Jan', 'Kowalski', 'Warszawa') AS wynik;
Rezultat:
wynik |
---|
Jan, Kowalski, Warszawa |
Podsumowanie
Funkcja CONCAT
w SQL jest nieocenionym narzędziem, jeśli chodzi o łączenie tekstów. Możemy używać jej do:
- Łączenia stałych wartości tekstowych.
- Konkatenacji wartości kolumn w bazach danych.
- Obsługi wartości numerycznych bez konieczności ich konwersji.
- Radzenia sobie z potencjalnymi wartościami
NULL
. - Użycia alternatywy
CONCAT_WS
dla separatorów.
Znajomość CONCAT
to podstawa przy pracy z danymi tekstowymi w SQL. Mam nadzieję, że ten artykuł dostarczył Ci wszystkich niezbędnych informacji i przykładów do skutecznego wykorzystania tej funkcji.
Inny ciekawy artykuł:
Jak działa POSITION w języku SQL? Przykłady zastosowania
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.