Por vezes, pode ser necessário juntar colunas em uma só query para apresentar uma informação presente em duas ou mais colunas que precisa ser exibida apenas em uma, para isso usamos a concatenação.
A concatenação é a fusão de duas ou mais colunas para formar uma única. Isso é útil para campos calculados e mensagens personalizadas.
Para fazer a concatenação no MySQL:
SELECT concat(coluna1,' – ',coluna2) FROM tabela
No PostgreSQL:
Para concatenar duas colunas ou duas strings, basta utilizar ||, dessa forma:
SELECT colunaA || colunaB as colunaAB FROM tabela
Caso uma das colunas pode ter um valor nulo, é necessário utilizar o operador coalesce, pois NULL concatenado com qualquer outra coisa resulta em NULL:
SELECT (coalesce((colunaA),'') || coalesce((colunaB),'')) AS colunaAB FROM tabela
Se precisar concatenar colunas do tipo int, é necessário converter as colunas:
coalesce(cast(colunaA as varchar),'') || coalesce(cast(colunaB as varchar), '') as colunaAB
No Firebird:
SELECT colunaA||" - "||colunaB AS COLUNAab FROM TABELA
No SQL Server:
O sinal de + é utilizado para concatenar strings, desta forma:
SELECT colunaA + colunaB as colunaAB FROM tabela
Caso uma coluna tenha algum tipo diferente, int ou float, por exemplo, é preciso utilizar o cast, dessa forma:
SELECT (cast(colunaA as varchar) + ' - ' + cast(colunaB as varchar)) as colunaAB FROM tabela
Se uma coluna ter a possibilidade de ser nula, é necessário utilizar IsNull(coluna1,' '), assim, trocando o valor nulo por um espaço, pois nulo concatenado com qualquer outro tipo resulta em nulo.
No Oracle:
SELECT col1||col2||col3||col4 "Titulo_Coluna" FROM tab1;
Comentários
0 comentário
Por favor, entre para comentar.