PostgreSQL vám umožňuje snadno zřetězit sloupce, řetězce a int. PostgreSQL nabízí dva způsoby zřetězení řetězců. V tomto článku se podíváme na to, jak zřetězit řetězce v PostgreSQL pomocí každého z těchto přístupů. Můžete jej použít ke zřetězení sloupců v PostgreSQL, zřetězení řetězce a proměnné nebo zřetězení řetězce a int.
Jak zřetězit řetězce v PostgreSQL
Existují dva způsoby, jak zřetězit řetězce v PostgreSQL – pomocí || operátor a pomocí concat funkce.
Zřetězit řetězec pomocí || operátor
PostgreSQL vám umožňuje přímo zřetězit řetězce, sloupce a hodnoty int pomocí || operátor.
Řekněme, že máte tabulku employees(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
Zde je dotaz SQL pro zřetězení sloupců first_name a last_name pomocí || operátor.
postgres-# select first_name || ' ' || last_name as full_name
from employees;
full_name
-----------
Jim Doe
Tim Don
Jane Doe Můžete dokonce zřetězit řetězec s int pomocí || operátor.
select first_name || 123 || last_name as full_name postgres-# from employees; full_name ------------ Jim123Doe Tim123Don Jane123Doe
Jak můžete vidět || Operátor automaticky převádí int na řetězec při zřetězení.
Nicméně, || operátor nemůže zřetězit hodnoty null. Pokud je v libovolném sloupci nebo řetězci hodnota null, je výsledkem hodnota null.
postgres-# select first_name || null || last_name as full_name
from employees;
full_name
-----------
(3 rows) Za tímto účelem musíme použít concat funkce, která je popsána níže.
Zřetězit řetězec pomocí funkce concat
Concat funkce také umožňuje zřetězit řetězce, sloupce a int. Přijímá parametry oddělené čárkami. Tyto parametry mohou být řetězce, sloupce, int, null atd.
Klíčový rozdíl mezi || operátor a concat funkce je, že pokud je některá z hodnot v concat funkce je null, během zřetězení se automaticky převede na prázdný řetězec.
Zde je příklad zřetězení first_name a last_name sloupec výše pomocí concat funkce.
postgres-# select concat(first_name,' ',last_name) as full_name
from employees;
full_name
-----------
Jim Doe
Tim Don
Jane Doe
Zde je příklad zřetězení first_name a last_name sloupce s null hodnotu
postgres=# select concat(first_name,null,last_name) as full_name
from employees;
full_name
-----------
JimDoe
TimDon
JaneDoe Jak vidíte, concat funkce převedla hodnoty null na prázdné řetězce.
Doufejme, že vám tento článek pomůže zřetězit sloupce v PostgreSQL, zřetězit řetězec a proměnnou nebo zřetězit řetězec a int.
Potřebujete reportovací nástroj pro PostgreSQL? Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!