Condividi tramite


- (sottrazione) (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

Sottrae due numeri (operatore aritmetico di sottrazione). Consente inoltre di sottrarre un numero di giorni da una data.

Convenzioni relative alla sintassi Transact-SQL

Syntax

expression - expression

Arguments

expression

Qualsiasi espressione valida di uno qualsiasi dei tipi di dati della categoria di tipi di dati numerici, ad eccezione del tipo di dati bit . Non è possibile usare i tipi di dati date, time, datetime2 o datetimeoffset .

Tipi restituiti

Restituisce il tipo di dati dell'argomento con la priorità più alta. Per altre informazioni, vedere Precedenza del tipo di dati.

Examples

Gli esempi di codice in questo articolo usano il database di esempio AdventureWorks2025 o AdventureWorksDW2025, che è possibile scaricare dalla home page Microsoft SQL Server Samples and Community Projects.

A. Usare la sottrazione in un'istruzione SELECT

Nell'esempio seguente viene calcolata la differenza nell'aliquota fiscale tra lo stato o la provincia con l'aliquota d'imposta più alta e lo stato o la provincia con l'aliquota d'imposta più bassa.

Si applica a: SQL Server e database SQL.

SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference'
FROM Sales.SalesTaxRate
WHERE StateProvinceID IS NOT NULL;
GO

È tuttavia possibile modificare l'ordine di esecuzione tramite l'utilizzo delle parentesi. I calcoli tra parentesi vengono eseguiti per primi. Se le parentesi sono nidificate, ha precedenza il calcolo più interno.

B. Usare la sottrazione data

Nell'esempio seguente vengono sottratti diversi giorni da una data datetime .

Si applica a: SQL Server e database SQL.

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

Il set di risultati è il seguente.

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

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

C. Usare la sottrazione in un'istruzione SELECT

L'esempio seguente calcola la differenza tra l'aliquota di base del dipendente con l'aliquota più alta e quello con l'aliquota di imposta più bassa dalla tabella dimEmployee.

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