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:
Escreva um comentário