Salve salve colegas.
Dando seguimento a matéria de concatenação anterior, hoje trago até os colegas a forma de concatenação do PostgreSQL. Para quem já usa a versão 9 o comando concat está nativo, porém versões anteriores temos que utilizar o comando || (Dois pipe’s).
Antes de aplicarmos a matéria com exemplos práticos, gostaria de alertar quanto a concatenção de colunas que podem conter valores nulos, isto porque quando fazemos uma concatenação onde uma das colunas possui um valor Null, todo o resultado da concatenação também será Null.
Vamos então a prática:
1 – Estrutura da tabela:
CREATE TABLE paposql.pessoa
(
id bigint NOT NULL,
nome character varying(20),
sobrenome character varying(100),
dt_nascimento date,
CONSTRAINT pk_id_pessoa PRIMARY KEY (id )
2 – Dados existentes:
Select nome , sobrenome, dt_nascimento
From paposql.pessoa
Papo;Sql;2012-01-01
3 – Concatenando os campos Nome e Sobrenome em um único campo, separando-os por um espeço:
Select nome || ' ' || sobrenome As Nome_Completo, dt_nascimento
From paposql.pessoa
Papo Sql;2012-01-01
Vejam que como esperado, os campos Nome e Sobrenome se concaterão gerando assim resultado em um único campo (Nome_Completo).
No exemplo utilizei um espaço para separar as informações, mas você pode adicionar o separador que desejar, haja visto que o tipo de dados do exemplo e uma string.
Você também pode concatenar tipos de dados diferentes, vejamos um exemplo:
Select 'Nome da Pessoa :' || nome || ' ' || sobrenome || ' Data de Nascimento: ' || dt_nascimento
From paposql.pessoa
Nome da Pessoa: Papo Sql - Data de Nascimento: 2012-01-01
Neste caso adicione informações para cadas campo, Nome da Pessoa e Data de Nascimento, para facilitar a visualização das informações. Porém, a data de nascimento apresentada possui um formato estrangeiro, onde podemos formata-la, para isto aconselho que veja este outro post.
Bom pessoal, espero que as dicas tenham sido mais uma vez úteis e, sugestões, críticas ou elogios serão bem vindos.
Grande abraço.