Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença de concatenação no uso "Concat" e " +"

Olá,

Podem me ajudar a diferença entre a concatenação usando o +, como o exemplo abaixo:

SELECT NOME, ENDERECO_1 + 'teste ' + BAIRRO + '  ' + CIDADE + ' ' + ESTADO + ' - ' + CEP   AS ENDERECO_COMPLETO FROM TABELA_DE_CLIENTES;

E nesse exemplo foi usado o CONCAT, para não ocorrer o erro: Erro ao converter tipo de dados varchar em float.

SELECT NOME_DO_PRODUTO, CONCAT('O preço de lista é: ', PRECO_DE_LISTA) as PRECO FROM TABELA_DE_PRODUTOS;

Minha é duvida, quando sei quando usar um ou outro, tem algum regra para me basear, para usar o "+" os campos precisam ser sempre texto?

2 respostas
solução!

Olá Vander, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

A concatenação usando o operador '+' é comumente usada para juntar valores de colunas de texto em um único resultado. É importante lembrar que o operador '+' somente pode ser utilizado para concatenar valores de colunas que são do tipo texto (VARCHAR, CHAR, TEXT, etc.). Caso contrário, o sistema pode apresentar um erro.

O uso da função CONCAT, por sua vez, é mais versátil, pois permite a concatenação de valores de colunas de qualquer tipo de dado, incluindo números e datas, sem que ocorram erros de conversão de tipo de dados. Ela converte automaticamente todos os seus argumentos em strings antes da concatenação. A função CONCAT também é útil para quando a concatenação envolve muitos valores e torna o código confuso e difícil de ler, já que a sintaxe fica mais organizada e legível.

Em resumo, o operador '+' é indicado para concatenação de valores de colunas que são do tipo texto, enquanto a função CONCAT é mais indicada para situações em que a concatenação envolve valores de colunas de diferentes tipos de dados, especialmente quando a concatenação é complexa e envolve muitos valores.

Espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Olá Monalisa! Bem e voce?

Sim, agora ficou bem claro!

Muito obrigado pela ajuda!