Database
 sql >> Baza danych >  >> RDS >> Database

Jak łączyć ciągi w SQL

Problem:

Chcesz połączyć ciągi z dwóch kolumn tabeli w jedną.

Przykład:

Nasza baza danych zawiera tabelę o nazwie student z danymi w następujących kolumnach:id , first_name i last_name .

id imię nazwisko
1 Lora Kowalski
2 Emilu Brązowy
3 Alek Jackson
4 Marcin Davis

Dołączmy imię do nazwiska ucznia w jednym ciągu. Użyj spacji między każdą nazwą.

Rozwiązanie:

SELECT first_name || ‘ ‘ || last_name AS full_name
FROM student;

To zapytanie zwraca rekordy w jednej kolumnie o nazwie full_name :

pełna_nazwa
Lora Smith
Emil Brown
Alex Jackson
Martin Davis

Dyskusja:

Aby dołączyć ciąg do innego i zwrócić jeden wynik, użyj || operator. Spowoduje to dodanie razem dwóch ciągów od lewej i prawej strony i zwrócenie jednego wyniku. Jeśli używasz nazwy kolumny, nie umieszczaj jej w cudzysłowie. Jednak używając wartości ciągu jako spacji lub tekstu, umieść ją w cudzysłowie.

W naszym przykładzie dodaliśmy spację do first_name a następnie kolumna last_name . Ta nowa kolumna nazywa się full_name .

Możesz także użyć specjalnej funkcji:CONCAT. Jako argumenty należy połączyć listę ciągów lub nazw kolumn:

SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name
FROM student;

Wyniki są identyczne.

Jednak funkcja CONCAT() jest lepsza do pobierania danych z kolumny o wartościach NULL. Czemu? Ponieważ, gdy wartość NULL jest zawarta w wartościach, które mają zostać połączone, operator zwraca jako wynik NULL. W przypadku CONCAT(), NULL nie będzie wyświetlany.

Spójrz na wynik || operator, jeśli Emill nie ma zarejestrowanego nazwiska:

SELECT first_name || ‘ ‘ || last_name AS full_name
FROM student;
pełna_nazwa
Lora Smith
NULL
Alex Jackson
Martin Davis

Spójrz na funkcję CONCAT dla tych samych danych:

SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name
FROM student;
pełna_nazwa
Lora Smith
Emil
Alex Jackson
Martin Davis

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zatrudnij lub zdobądź zatrudnienie:model danych dla procesu rekrutacji

  2. Model danych agencji opinii publicznej

  3. Podstawy wyrażeń tabelarycznych, Część 5 – CTE, rozważania logiczne

  4. Profilowanie danych:odkrywanie szczegółów danych

  5. Wszystko, co musisz wiedzieć o SQL CTE w jednym miejscu