Database
 sql >> база данни >  >> RDS >> Database

Как да конкатенираме низове в SQL

Проблем:

Искате да обедините низове от две колони на таблица в една.

Пример:

Нашата база данни има таблица с име student с данни в следните колони:id , first_name и last_name .

id first_name фамилно_име
1 Лора Смит
2 Емил Кафяв
3 Алекс Джаксън
4 Мартин Дейвис

Нека добавим първото име към фамилното име на ученика в един низ. Използвайте интервал между всяко име.

Решение:

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

Тази заявка връща записи в една колона с име full_name :

пълно_име
Лора Смит
Емил Браун
Алекс Джаксън
Мартин Дейвис

Дискусия:

За да добавите низ към друг и да върнете един резултат, използвайте || оператор. Това добавя два низа отляво и отдясно заедно и връща един резултат. Ако използвате името на колоната, не го затваряйте в кавички. Въпреки това, когато използвате стойност на низ като интервал или текст, оградете го в кавички.

В нашия пример добавихме интервал към first_name и след това колоната last_name . Тази нова колона се нарича full_name .

Можете също да използвате специална функция:CONCAT. Необходим е списък с низове или имена на колони, които да се присъединят като аргументи:

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

Резултатите са идентични.

Въпреки това, функцията CONCAT() е по-добра за извличане на данни от колона със стойности NULL. Защо? Тъй като, когато NULL е включено в стойностите, които трябва да бъдат обединени, операторът връща NULL като резултат. В случай на CONCAT(), NULL няма да се показва.

Вижте резултата от || оператор, ако Emill няма записано фамилно име:

SELECT first_name || ‘ ‘ || last_name AS full_name
FROM student;
пълно_име
Лора Смит
NULL
Алекс Джаксън
Мартин Дейвис

Вижте функцията CONCAT за същите данни:

SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name
FROM student;
пълно_име
Лора Смит
Емил
Алекс Джаксън
Мартин Дейвис

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL справочник за начинаещи

  2. Бърз съвет – Ускорете бавното възстановяване от дневника на транзакциите

  3. Използване на Trace Flag 3226 за потискане на регистрирането на архивиране на регистрационни файлове

  4. Друг аргумент за съхранените процедури

  5. SQL с чужд ключ:Всичко, което трябва да знаете за операциите с чужд ключ