Concatenação de Strings – SQL Server – 30

Concatenação de Strings no Microsoft SQL Server

É possível concatenar (juntar / combinar) strings no SQL Server usando-se o operador de concatenação de strings (+). Para isso, usamos a sintaxe a seguir: Sintaxe: <string | nome_coluna> + <string | nome_coluna> Portanto, podemos concatenar (juntar) duas strings (texto) ou o conteúdo de duas colunas, ou ainda uma combinação de ambos. Vejamos alguns exemplos.

Exemplos

1 -  Concatenar as palavras "Fábio" e "dos Reis", e retornar o resultado em uma nova coluna de nome "Meu Nome":
SELECT 'Fábio ' + 'dos Reis' AS 'Meu Nome'
2 -  Concatenar o nome de um autor com seu sobrenome, retornados de uma consulta à tabela de autores, e exibindo o resultado em uma coluna de nome 'Nome Completo':
SELECT Nome_autor + ' ' + Sobrenome_autor AS 'Nome Completo' FROM tbl_autores
3 -  Concatenar a frase 'Eu gosto do livro' com o nome de um livro retornado da tabela de livros, cujo autor possui ID igual a 2:
SELECT 'Eu gosto do livro ' + Nome_Livro FROM tbl_livros WHERE ID_autor = 2

Concatenação com NULL

Se uma string for concatenada com o valor NULL (nulo), o resultado retornado será apenas NULL. Exemplo:
SELECT 'Vou ler'‘ + ' ' + Nome_livro
FROM tbl_livros
WHERE ID_autor = 200 --ID inexistente
Essa concatenação retorna resultado NULL, pois o autor de ID igual a 200 é inexistente em nosso banco de dados. Para contornarmos esse problema, existem duas funções disponíveis que substituem o valor NULL por um outro valor. São elas:
  • ISNULL
  • COALESCE

Função ISNULL

Sintaxe: ISNULL (valor, substituição) Exemplo:
SELECT 'Vou ler ' + ' ' + ISNULL(Nome_autor, 'algum autor')
FROM tbl_autores
WHERE ID_autor = 11 --Nome inexistente para esse ID
Nesse caso, como a concatenação se deu com um valor inexistente (autor de ID 11 não existe na tabela), em vez de retornar NULL, a consulta retornará a frase 'Vou ler algum autor'.

Função COALESCE

Essa função retornará o primeiro valor não-nulo encontrado em uma lista de argumentos passados. Sintaxe: COALESCE (valor1, valor2, ..., valorN) Exemplo:
SELECT 'Vou ler ' + COALESCE(' ' + Nome_autor,  ' algum autor')
FROM tbl_autores
WHERE ID_autor = 11
O vídeo abaixo apresenta uma aula sobre concatenação de strings concisa:
Sobre Fábio dos Reis (1133 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Astronomia, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*