Partilhar via


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

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

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

Transact-SQL convenções de sintaxe

Syntax

expression - expression

Arguments

expression

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

Tipos de devolução

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 pode ser descarregado da página inicial de Exemplos e Projetos da Comunidade do Microsoft SQL Server.

A. Usar subtração em uma instrução SELECT

O exemplo a seguir calcula a diferença na taxa de imposto entre o estado ou província com a taxa de imposto mais alta e o estado ou província com a taxa de imposto mais baixa.

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

Você pode alterar a ordem de execução usando parênteses. Os cálculos entre parênteses são avaliados primeiro. Se os parênteses estiverem aninhados, o cálculo aninhado mais profundamente terá precedência.

B. Usar subtração de data

O exemplo a seguir subtrai vários dias de uma data datetime .

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';

Aqui está o conjunto de resultados.

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

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

C. Usar subtração em uma instrução SELECT

O exemplo a seguir calcula a diferença em uma taxa básica entre o funcionário com a taxa básica mais alta e o funcionário com a menor taxa de imposto, a partir da dimEmployee tabela.

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