Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Ponto de extremidade de análise de SQL no Microsoft Fabric
Depósito no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric
Subtrai dois números (um operador de subtração aritmético). Também pode subtrair um número, em dias, de uma data.
Convenções de sintaxe de Transact-SQL
Syntax
expression - expression
Arguments
expression
Qualquer expressão válida de qualquer um dos tipos de dados da categoria de tipo de dados numérico, exceto o tipo de dados de bit . Não pode ser usado com tipos de dados date, time, datetime2 ou datetimeoffset .
Tipos de retorno
Retorna o tipo de dados do argumento com a precedência mais alta. Para obter mais informações, consulte Precedência de tipo de dados.
Examples
Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que você pode baixar na página inicial Microsoft SQL Server Samples and Community Projects.
A. Usar a subtração em uma instrução SELECT
O exemplo a seguir calcula a diferença na taxa de imposto entre o estado ou a província com a maior taxa de imposto, e o estado ou província com a menor taxa de imposto.
Aplica-se a: SQL Server e Banco de Dados SQL.
SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference'
FROM Sales.SalesTaxRate
WHERE StateProvinceID IS NOT NULL;
GO
É possível alterar a ordem de execução usando parênteses. Os cálculos entre parênteses são avaliados em primeiro lugar. Se os parênteses forem aninhados, o cálculo com maior aninhamento terá precedência.
B. Usar a subtração de data
O exemplo a seguir subtrai vários dias de uma data de data/ hora.
Aplica-se a: SQL Server e Banco de Dados SQL.
DECLARE @altstartdate DATETIME;
SET @altstartdate = CONVERT(DATETIME, 'January 10, 1900 3:00 AM', 101);
SELECT @altstartdate - 1.5 AS 'Subtract Date';
Veja aqui o conjunto de resultados.
Subtract Date
-----------------------
1900-01-08 15:00:00.000
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
C. Usar a subtração em uma instrução SELECT
O exemplo a seguir calcula a diferença em uma taxa base entre o funcionário com a taxa base mais alta e o funcionário com a taxa de imposto mais baixa, por meio da tabela dimEmployee.
SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference
FROM DimEmployee;