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!