terça-feira, 26 de janeiro de 2021

SQL Server: Concatenação

Durante um trabalho, precisei utilizar a concatenação no SQL Server. Normalmente utilizo a função CONCAT, mas para a minha não tão surpresa, a versão do cliente era mais antigo. Então, hoje vou registrar aqui as formas de concatenação possível no SQL Server.

Seguindo a ordem de disponibilidade de versão, o primeiro a surgir, no SQL Server 2005 é o operador de concatenação "+". Como uma boa parte das linguagens de programação, se um elemento for do tipo texto/String, utilizar o operador + vai juntar o primeiro elemento com o segundo. Exemplo:

SELECT 'SQL' + ' is' + ' fun!';

O segundo comando disponibilizado, a partir do SQL Server 2012 é o comando CONCAT, que é o que geralmente utilizo. O CONCAT é uma função que recebe como parâmetros, os valores a serem concatenado, não havendo limite de parâmetros. Exemplo:

SELECT CONCAT('SQL', ' is', ' fun!');

O terceiro comando é o CONCAT_WS, disponível a partir do SQL Server 2017, cujo objetivo é facilitar um separador entre os strings sem precisar tornar explícito. Se reparar nos exemplos anteriores, os valores 'is' e 'fun' possuem um espaço inserido. Quando se trabalha com dados, geralmente não possui espaços nos valores para separar, precisando declarar sempre entre os valores. Este comando veio para facilitar esta inconveniência, onde o primeiro parâmetros é o separador e a partir do segundo são os valores a serem concatenados. Exemplo:

SELECT CONCAT_WS('-', 'SQL', 'is', 'fun!');

O exemplo acima resultará em "SQL-is-fun!". Se alterarmos o primeiro parâmetro para o espaço, temos:

SELECT CONCAT_WS(' ''SQL''is''fun!');

que resultará em "SQL is fun!"

Nenhum comentário:

Postar um comentário