Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Odejmuje dwie liczby (operator odejmowania arytmetycznego). Może również odjąć liczbę w dniach od daty.
Transact-SQL konwencje składni
Syntax
expression - expression
Arguments
expression
Dowolne prawidłowe wyrażenie dowolnego z typów danych kategorii typu danych liczbowych, z wyjątkiem typu danych bitowych . Nie można używać z typami danych date, time, datetime2 lubdatetimeoffset .
Typy zwracane
Zwraca typ danych argumentu o wyższym pierwszeństwie. Aby uzyskać więcej informacji, zobacz Pierwszeństwo typu danych.
Examples
Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.
A. Używanie odejmowania w instrukcji SELECT
Poniższy przykład oblicza różnicę w stawce podatkowej między stanem lub prowincją z najwyższą stawką podatkową, a stanem lub prowincją o najniższej stawce podatkowej.
Dotyczy: SQL Server i SQL Database.
SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference'
FROM Sales.SalesTaxRate
WHERE StateProvinceID IS NOT NULL;
GO
Kolejność wykonywania można zmienić przy użyciu nawiasów. Obliczenia wewnątrz nawiasów są oceniane jako pierwsze. Jeśli nawiasy są zagnieżdżone, pierwszeństwo ma najbardziej zagnieżdżone obliczenie.
B. Używanie odejmowania daty
Poniższy przykład odejmuje kilka dni od daty daty/godziny .
Dotyczy: SQL Server i SQL Database.
DECLARE @altstartdate DATETIME;
SET @altstartdate = CONVERT(DATETIME, 'January 10, 1900 3:00 AM', 101);
SELECT @altstartdate - 1.5 AS 'Subtract Date';
Oto zestaw wyników.
Subtract Date
-----------------------
1900-01-08 15:00:00.000
Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)
C. Używanie odejmowania w instrukcji SELECT
Poniższy przykład oblicza różnicę w stawce bazowej między pracownikiem z najwyższą stawką bazową a pracownikiem o najniższej stawce podatkowej dimEmployee z tabeli.
SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference
FROM DimEmployee;