Freigeben über


- (Subtraktion) (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Analyseendpunkt in Microsoft FabricLagerhaus in Microsoft FabricSQL-Datenbank in Microsoft Fabric Preview

Subtrahiert zwei Zahlen (ein arithmetischer Subtraktionsoperator). Kann auch eine Zahl, in Tagen, von einem Datum subtrahieren.

Transact-SQL-Syntaxkonventionen

Syntax

expression - expression

Arguments

expression

Ein beliebiger gültiger Ausdruck eines der Datentypen der Kategorie numerischer Datentypen, mit Ausnahme des Bitdatentyps . Kann nicht mit Datentypen "Datum", "Uhrzeit", "Datetime2" oder "datetimeoffset" verwendet werden.

Return types

Gibt einen Wert vom Datentyp des Arguments zurück, das in der Rangfolge höher steht. Weitere Informationen finden Sie unter "Rangfolge des Datentyps".

Examples

Die Codebeispiele in diesem Artikel verwenden die AdventureWorks2022- oder AdventureWorksDW2022 Beispieldatenbank, die Sie von der Microsoft SQL Server Samples and Community Projects Homepage herunterladen können.

A. Verwenden von Subtraktion in einer SELECT-Anweisung

Im folgenden Beispiel wird die Differenz des Steuersatzes zwischen dem Staat oder der Provinz mit dem höchsten Steuersatz und dem Bundesland oder der Provinz mit dem niedrigsten Steuersatz berechnet.

Gilt für: SQL Server und SQL-Datenbank.

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

Sie können die Reihenfolge der Ausführung ändern, indem Sie Klammern verwenden. Berechnungen innerhalb von Klammern werden zuerst ausgewertet. Bei geschachtelten Klammerausdrücken werden die innersten Bestandteile zuerst berechnet.

B. Verwenden von Datumsuntertraktion

Im folgenden Beispiel werden mehrere Tage von einem Datetime-Datum subtrahiert.

Gilt für: SQL Server und SQL-Datenbank.

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

Hier ist das Ergebnis.

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

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

C. Verwenden von Subtraktion in einer SELECT-Anweisung

Im folgenden Beispiel wird der Unterschied im Basistarif zwischen dem Mitarbeiter mit dem höchsten Tarif und dem Mitarbeiter mit dem niedrigsten Tarif aus der dimEmployee-Tabelle berechnet.

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