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

Subtrai dois números (um operador de subtração aritmético). Também pode subtrair um número, em dias, de uma data.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

expression - expression

Argumentos

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

Tipos de resultados

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 (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.

USE AdventureWorks2008R2;
GO
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.

USE AdventureWorks2008R2;
GO
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)