Notatka
Dostęp do tej strony wymaga autoryzacji. Może 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
Endpoint analityki SQL w Microsoft Fabric
Magazyn w Microsoft Fabric
Baza danych SQL w 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 opisane w tym artykule korzystają z przykładowej bazy AdventureWorks2025 ORAdventureWorksDW2025, którą można pobrać z repozytorium Azure Data SQL Samples Repository GitHub.
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
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;