sql >> Databáze >  >> RDS >> PostgreSQL

Jak zřetězit řetězce v PostgreSQL

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!

  1. Resetujte kořenové heslo MySQL

  2. líný dotaz clojure.java.jdbc

  3. Monitorování PostgreSQL v hybridním prostředí

  4. Jak spravovat MariaDB 10.3 pomocí ClusterControl