- (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 PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse 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)