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 (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*