PostgreSQL ви позволява лесно да конкатенирате колони, низове и int. PostgreSQL предлага два начина за конкатенация на низове. В тази статия ще разгледаме как да конкатенираме низове в PostgreSQL, използвайки всеки един от тези подходи. Можете да го използвате за обединяване на колони в PostgreSQL, конкатенация на низ и променлива или конкатенация на низ и int.
Как да конкатенираме низове в PostgreSQL
Има два начина за конкатенация на низове в PostgreSQL – с помощта на || оператор и използвайки concat функция.
Конкатениране на низ чрез || оператор
PostgreSQL ви позволява директно да свързвате низове, колони и int стойности с помощта на || оператор.
Да кажем, че имате таблица служители(id, first_name, last_name)
postgres=# create table employees(id int, first_name varchar(10), last_name varchar(10)); postgres=# insert into employees(id,first_name,last_name) values(1,'Jim','Doe'), (2,'Tim','Don'), (3,'Jane','Doe'); postgres=# select * from employees; id | first_name | last_name ----+------------+----------- 1 | Jim | Doe 2 | Tim | Don 3 | Jane | Doe
Ето SQL заявката за конкатенация на колони first_name и фамилно_име използвайки || оператор.
postgres-# select first_name || ' ' || last_name as full_name from employees; full_name ----------- Jim Doe Tim Don Jane Doe
Можете дори да конкатенирате низ с int, като използвате || оператор.
select first_name || 123 || last_name as full_name postgres-# from employees; full_name ------------ Jim123Doe Tim123Don Jane123Doe
Както можете да видите || операторът автоматично преобразува int в низ, докато конкатенира.
Въпреки това, || операторът не може да конкатенира нулеви стойности. Ако има нула в някоя от колоната или низа, тогава резултатът е нулева стойност.
postgres-# select first_name || null || last_name as full_name from employees; full_name ----------- (3 rows)
За тази цел трябва да използваме concat функция, която е описана по-долу.
Конкатениране на низ чрез функция concat
Конкат функцията също така ви позволява да свързвате низове, колони и int. Той приема параметри, разделени със запетая. Тези параметри могат да бъдат низове, колони, int, null и т.н.
Ключовата разлика между || оператор и конкат функция е, че ако някоя от стойностите в concat функцията е нула, тя автоматично се преобразува в празен низ по време на конкатенация.
Ето пример за обединяване на first_name и фамилно_име колона по-горе с помощта на concat функция.
postgres-# select concat(first_name,' ',last_name) as full_name from employees; full_name ----------- Jim Doe Tim Don Jane Doe
Ето пример за обединяване на first_name и фамилно_име колони с null стойност
postgres=# select concat(first_name,null,last_name) as full_name from employees; full_name ----------- JimDoe TimDon JaneDoe
Както можете да видите, concat функцията е преобразувала нулеви стойности в празни низове.
Надяваме се, че тази статия ще ви помогне да конкатенирате колони в PostgreSQL, да конкатенирате низ и променлива или да конкатенирате низ и int.
Нуждаете се от инструмент за отчитане за PostgreSQL? Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!