Megosztás a következőn keresztül:


- (Kivonás) (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Kivon két számot (aritmetikai kivonási operátor). Egy számot napok alatt is kivonhat egy dátumból.

Transact-SQL szintaxis konvenciók

Syntax

expression - expression

Arguments

expression

A numerikus adattípus kategória bármelyik adattípusának érvényes kifejezése , kivéve a bit adattípust. Nem használható dátum, idő, datetime2 vagy datetimeoffset adattípusokkal.

Visszatérési típusok

Az argumentum adattípusát adja vissza a magasabb előzményekkel. További információ: Adattípus elsőbbsége.

Examples

A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.

A. Kivonás használata SELECT utasításban

Az alábbi példa kiszámítja a legmagasabb adómértékkel rendelkező állam vagy tartomány, valamint a legalacsonyabb adómértékkel rendelkező állam vagy tartomány közötti adókulcs különbségét.

A következőkre vonatkozik: SQL Server és SQL Database.

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

A végrehajtási sorrendet zárójelek használatával módosíthatja. A zárójeleken belüli számításokat először a rendszer kiértékeli. Ha zárójelek vannak beágyazva, a legmélyebb beágyazott számítás elsőbbséget élvez.

B. Dátum kivonásának használata

Az alábbi példa több napot von ki egy dátum/idő dátumból .

A következőkre vonatkozik: SQL Server és SQL Database.

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

Itt van az eredmények összessége.

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

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Kivonás használata SELECT utasításban

Az alábbi példa kiszámítja a legmagasabb alapkamattal rendelkező alkalmazott és a legalacsonyabb adómértékkel rendelkező alkalmazott közötti alapkamat különbségét a dimEmployee táblázatból.

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