Como criar campos calculados em SQL
Os campos calculados são criados adicionando uma fórmula ou função no comando SELECT. Essa fórmula pode ser mesclagem de texto, cálculo de números ou outro processamento de dados. As colunas de resultado desse cálculo não são armazenadas na tabela, mas são criadas automaticamente quando a consulta é executada.
Mesclagem de strings com concat()
Um uso comum de Campos Calculados é combinar cadeias de caracteres de várias colunas em uma. A função Concat() em SQL é usada para combinar duas ou mais strings em uma única string.
A função Concat() nos permite combinar os valores de várias colunas. Além disso, podemos usar aliases com palavras-chave dos EUA para nomear as colunas calculadas para torná-las mais acessíveis e compreensíveis.
Exemplos de código
Aqui está um exemplo de consulta SQL que usa Concat() para combinar o nome do fornecedor e o país do fornecedor em uma única nova coluna chamada vend_title:
SELECT Concat(vend_name, ' (', vend_country, ')') AS vend_title
FROM vendors
ORDER BY vend_name;
Análise de amostra de código
Concat(): Neste exemplo, a função Concat() combina três elementos:
- O nome do fornecedor na coluna vend_name.
- Strings na forma de espaços e colchetes de abertura ‘ (‘.
- Nome do país na coluna vend_country.
- Colchetes de tampa ‘)’.
Alias: Usando o AS vend_title, damos um nome ao resultado combinado, para que o resultado possa ser referenciado como vend_title no aplicativo cliente.
Output: O resultado dessa consulta resultará em uma nova coluna contendo a combinação de nome do fornecedor e país no formato desejado, como:
+----------------------+
| vend_title |
+----------------------+
| ACME (USA) |
| Anvils R Us (USA) |
| Furball Inc. (USA) |
| Jet Set (England) |
| Jouets Et Ours (France) |
| LT Supplies (USA) |
+----------------------+
Removendo espaços com a função Trim()
No gerenciamento de dados, muitas vezes encontramos problemas de espaçamento indesejados em torno de valores de cadeia de caracteres. Para resolver esse problema, o SQL oferece várias funções de corte, ou seja, RTrim(), LTrim() e Trim(). Essas funções são muito úteis para limpar os dados antes de prosseguir com o processo adicional.
Funções RTrim(), LTrim() e Trim()
- RTrim(): Remove todos os espaços no lado direito da string.
- LTrim(): Remove todos os espaços no lado esquerdo da string.
- Trim(): Remove todos os espaços em ambos os lados da string.
Essas três funções ajudam a garantir que os dados recuperados do banco de dados estejam limpos e prontos para uso, especialmente ao executar junções ou cálculos de cadeia de caracteres.
Casos de uso para limpeza de dados
Aqui está um exemplo de consulta SQL que usa a função RTrim() para remover espaços indesejados antes de combinar nomes de fornecedores e países de fornecedores:
SELECT Concat(RTrim(vend_name), '(', RTrim(vend_country), ') AS vend_title
FROM vendors
ORDER BY vend_name;
Análise de amostra de código
Concat(RTrim(vend_name), ‘(‘, RTrim(vend_country), ‘)’): Nesta consulta, usamos RTrim() nos campos vend_name e vend_country para garantir que não haja espaços extras no final do nome do fornecedor ou do país. Isso é essencial para manter um formato de saída limpo e profissional.
Alias: Usando o AS vend_title, damos um nome a esse resultado combinado, facilitando a referência no aplicativo cliente.
Output: O resultado dessa consulta resultará em uma nova coluna chamada vend_title que contém uma combinação de nome do fornecedor e país sem espaços adicionais, como:
+----------------------+
| vend_title |
+----------------------+
| ACME (USA) |
| Anvils R Us (USA) |
| Furball Inc. (USA) |
| Jet Set (England) |
| Jouets Et Ours (France) |
| LT Supplies (USA) |
+----------------------+