segunda-feira, 30 de julho de 2012

Concatenando campos no PostgreSQL



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.

Clique aqui e veja todas as matérias sobre PostgreSQL

Nenhum comentário:

Postar um comentário