Compartilhar via


- (Subtração) (Transact-SQL)

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 Warehouse 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

Sintaxe

expression - expression  

Argumentos

expressão
É qualquer expression válida de um dos tipos de dados da categoria de tipo de dados numéricos, exceto o tipo de dados bit. Não pode ser usado com os tipos de dados date, time, datetime2 ou datetimeoffset.

Tipos de resultado

Retorna o tipo de dados do argumento com a precedência mais alta. Para obter mais informações, confira Precedência de tipo de dados (Transact-SQL).

Exemplos

a. Usando subtração em uma instrução SELECT

O exemplo a seguir calcula a diferença de taxas de imposto entre o estado ou o município com a taxa de imposto mais alta e o estado ou o município com a taxa de imposto mais baixa.

Aplica-se a: SQL Server e Banco de Dados SQL.

-- Uses AdventureWorks  
  
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. Usando subtração de data

O exemplo a seguir subtrai um número de dias de uma data datetime.

Aplica-se a: SQL Server e Banco de Dados SQL.

-- Uses the AdventureWorks sample database
DECLARE @altstartdate DATETIME;  
SET @altstartdate = CONVERT(DATETIME, 'January 10, 1900 3:00 AM', 101);  
SELECT @altstartdate - 1.5 AS 'Subtract Date';  

Este é o conjunto de resultados:

Subtract Date  
-----------------------  
1900-01-08 15:00:00.000  

(1 row(s) affected)

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

C: Usando uma 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.

-- Uses AdventureWorks  
  
SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference  
FROM DimEmployee;  

Consulte Também

-= (Atribuição de subtração) (Transact-SQL)
Operadores compostos (Transact-SQL)
Operadores aritméticos (Transact-SQL)
- (Negativo) (Transact-SQL)
Tipos de dados (Transact-SQL)
Expressões (Transact-SQL)
Funções internas (Transact-SQL)
SELECT (Transact-SQL)