Tutorial ten koncentruje się na SQL String Concatenation w Oracle i zawiera wyjaśnienia, przykłady i ćwiczenia. Do ćwiczeń z tej lekcji użyj tego linku.
Tutorial ten jest częścią kilku postów wyjaśniających jak pisać podstawowe zapytania w Oracle. Aby przeczytać dodatkowe posty dotyczące tego tematu, proszę skorzystać z poniższych linków:
- Pisanie podstawowych instrukcji SELECT w języku SQL
- Operatory arytmetyczne w językuSQL
- Aliasy kolumn w językuSQL
- Konkatenacja ciągów znaków w językuSQL
- Słowo kluczowe DISTINCT w językuSQL
Konkatenacja ciągów znaków w języku Oracle
Konkatenacja ciągów znaków w języku Oracle umożliwia dołączenie jednego ciągu znaków do końca innego ciągu znaków. Aby wyświetlić zawartość dwóch lub więcej kolumn pod nazwą pojedynczej kolumny, można użyć operatora konkatenacji podwójnego potoku (||).
Na przykład, aby wyświetlić nazwę produktu wraz z jego ceną, należy użyć następującej instrukcji Oracle SQL:
SELECT product_name || unit_priceFROM products
Wynik :
product_name || unit_price--------------------------Tea30
Oracle – Concatenate Two Fields with a Space
O ile w poprzednim przykładzie udało się uzyskać żądany rezultat – połączenie dwóch wartości z dwóch różnych kolumn – to jednak efekt końcowy jest nadal dość nieczytelny, gdyż nie mamy separatora spacji pomiędzy nazwą produktu a jego ceną. W związku z tym wskazane jest, aby dodatkowo konkatenować spację (' ') :
SELECT product_name || ' ' || unit_priceFROM products
Wynik :
product_name || ' ' || unit_price---------------------------------Tea 30
Użycie Oracle Column Alias
Aby wynik był bardziej czytelny, należy użyć Oracle Column Aliases:
SELECT product_name || ' ' || unit_price AS "ProductDescription"FROM products
Wynik :
ProductDescription------------------Tea 30
Oracle – Pobieranie dodatkowych kolumn
W Oracle, Jeśli po lub przed tą konkatenacją chciałbyś wyświetlić dodatkową oddzielną kolumnę, po prostu użyj przecinka (,):
SELECT product_id, product_name || ' ' || unit_price AS "ProductDescription", supplier_idFROM products
Wynik:
product_id ProductDescription supplier_id---------- ------------------ -------------23 Tea 30 13