🧚 Escute! O Beekeeper Studio é uma GUI de banco de dados rápida, moderna e open source Download
14 de fevereiro de 2024 Por Matthew Rathbone

Subtração não serve só para operações numéricas! O SQL Server tem várias funções e operadores nativos para ajudar na subtração de números e datas. Além disso, ao contrário do que acontece com papel e caneta, precisamos sempre pensar no NULL. Vamos direto aos exemplos.

Entendendo as operações de subtração no SQL Server

As operações de subtração no SQL Server costumam aparecer em duas situações: aritmética com dados numéricos e manipulação de valores de data e hora. Subtrair valores é muito útil quando você precisa gerar valores calculados diretamente no SQL Server.

Subtração básica

Vamos começar com uma operação de subtração simples para ilustrar o conceito. Suponha que temos uma tabela chamada “Orders” contendo “TotalAmount” e “DiscountAmount”.

SELECT TotalAmount, DiscountAmount, 
TotalAmount - DiscountAmount AS ActualAmount 
FROM Orders;

Neste exemplo básico, subtraímos “DiscountAmount” de “TotalAmount” e exibimos o resultado como “ActualAmount”.

Usando operações de subtração em intervalos de tempo

A subtração também é muito usada para calcular a diferença entre duas datas e horas. O SQL Server tem vários tipos de data e hora: smalldatetime, datetime, datetime2, datetimeoffset. Podemos usar a função DATEDIFF() para subtrair datas.

Exemplo:

SELECT OrderID, OrderDate, 
DATEDIFF(day, OrderDate, GETDATE()) AS DaysElapsed 
FROM Orders;

Este comando calcula e exibe o número de dias decorridos desde que cada pedido foi feito até hoje (GETDATE retorna a data de hoje).

Agregando conjuntos de resultados com subtração no SQL Server

Agregar conjuntos de resultados usando subtração também é bastante comum no SQL Server. Por exemplo, você pode precisar somar o total de vendas de um período e subtrair o total de descontos concedidos no mesmo período.

Exemplo:

SELECT 
( SELECT SUM(TotalAmount) FROM Orders where OrderDate like '2022-%' ) - 
( SELECT SUM(DiscountAmount) FROM Orders where OrderDate like '2022-%' ) as NetSales

O comando acima exibe as vendas líquidas do ano de 2022 subtraindo o total de descontos do total de vendas.

Lidando com NULL

No SQL Server, subtrair de NULL retorna um valor NULL. É importante tratar esses casos para evitar NULLs inesperados nos seus resultados, caso você prefira tratar NULL como 0. Isso nem sempre é o desejado, então aja com cuidado.

SELECT OrderID, 
ISNULL(TotalAmount, 0) - ISNULL(DiscountAmount, 0) AS NetAmount 
FROM Orders;

Agora você é um profissional da subtração

Existem outras formas eficientes de subtrair valores no SQL Server, então continue praticando com esses comandos e explore mais por conta própria. Cada consulta que você escreve deixa você um passo mais perto de dominar o SQL Server. Boas consultas!

Este artigo foi escrito pensando no SQL Server. Portanto, todos os comandos e explicações se referem ao SQL Server. Para saber como esses comandos funcionam em outros bancos de dados, consulte a documentação oficial de cada um.

Beekeeper Studio é um cliente de banco de dados gratuito e open source

A melhor ferramenta de consultas e edição de SQL que já usei. Tem tudo o que preciso para gerenciar meu banco de dados. - ⭐⭐⭐⭐⭐ Mit

O Beekeeper Studio é rápido, intuitivo e fácil de usar. Ele suporta vários bancos de dados e funciona muito bem no Windows, Mac e Linux.

A versão do Beekeeper para Linux tem 100% dos recursos, sem atalhos e sem concessões.

O que os usuários dizem sobre o Beekeeper Studio

★★★★★
"O Beekeeper Studio substituiu completamente meu antigo fluxo de trabalho com SQL. É rápido, intuitivo e torna o trabalho com bancos de dados agradável de novo."
— Alex K., desenvolvedor de banco de dados
★★★★★
"Já testei muitas GUIs de banco de dados, mas o Beekeeper encontra o equilíbrio perfeito entre recursos e simplicidade. Simplesmente funciona."
— Sarah M., engenheira full stack

Pronto para melhorar seu fluxo de trabalho com SQL?

download Baixe grátis