Concatenação de valores no Banco de Dados

Muitas vezes nos deparamos com situações onde precisamos concatenar valores em nossas SQL queries, e hoje irei ensinar como realizar essa atividade nos DB’s MySQL e IBM DB2.

Possuímos duas formas de realizar essa atividade, utilizando a função CONCAT() (presente em ambos os DB’s) e através do carácter “pipe”.

CONCAT();
No MySQL a função CONCAT() retorna a string resultante da concatenação dos argumentos, sendo que o DB aceita um ou mais argumentos. Se todos os argumentos são strings não-binários, o resultado é uma string não binários. Se os argumentos incluirem quaisquer strings binárias, o resultado é uma string binária. Um argumento numérico é convertido na sua forma equivalente binário string;
Exemplo:

mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'

Já no IBM DB2 a função retorna a concatenação de dois argumentos de cadeia sendo que os dois argumentos devem ser de tipos compatíveis (tabela de compatibilidade). O resultado da função é uma string cujo comprimento é igual à soma dos comprimentos dos dois argumentos.
Exemplo: 

CONCAT(string-expression-1,string-expression-2)

DB2> SELECT CONCAT('IBM ','DB2') FROM TBL_TESTE;
->'IBM DB2'

Carácter “pipe” ||

Em ambos os DB’s você utilizar uma sequencia de dois caracteres | (pipe) para obter a concatenação dos valores:

DB>SELECT 'Artigo' ||' - '||'primeiro '|| db_campo || ' fim';
-&gt; 'Artigo - primeiro <strong>valor do db_campo</strong> fim'

Com o ‘||’ é possível concatenar diversos valores de uma vez só (mesmo no IBM DB2).

Links úteis:

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>