- (Çıkarma) (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsMicrosoft Fabric'te SQL analitiği uç noktasıMicrosoft Fabric'te DepoMicrosoft Fabric'te SQL veritabanı

İki sayıyı çıkarır (aritmetik çıkarma işleci). Ayrıca, bir sayıyı bir tarihten gün olarak da çıkarabilirsiniz.

Transact-SQL söz dizimi kuralları

Syntax

expression - expression

Arguments

expression

Bit veri türü dışında sayısal veri türü kategorisinin veri türlerinden herhangi birinin geçerli ifadeleri. Date, time, datetime2 veyadatetimeoffset veri türleriyle kullanılamaz.

Dönüş türleri

Daha yüksek önceliğe sahip bağımsız değişkenin veri türünü döndürür. Daha fazla bilgi için bkz. Veri türü önceliği.

Examples

Bu makaledeki kod örnekleri, Azure Data SQL Samples Repository GitHub deposundan indirebileceğiniz , AdventureWorksDW2025, veya AdventureWorksLT2025 örnek veritabanını kullanırAdventureWorks2025.

A. SELECT deyiminde çıkarma kullanma

Aşağıdaki örnek, en yüksek vergi oranına sahip eyalet veya il ile en düşük vergi oranına sahip eyalet veya il arasındaki vergi oranı farkını hesaplar.

Şunlar için geçerlidir: SQL Server ve SQL Veritabanı.

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

Parantezleri kullanarak yürütme sırasını değiştirebilirsiniz. Önce parantez içindeki hesaplamalar değerlendirilir. Parantezler iç içe yerleştirilmişse, en derin iç içe hesaplamanın önceliği vardır.

B. Tarih çıkarma kullan

Aşağıdaki örnek, tarih saat tarihinden birkaç gün çıkarır.

Şunlar için geçerlidir: SQL Server ve SQL Veritabanı.

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

Sonuç kümesi aşağıdadır.

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

Örnekler: Azure Synapse Analytics

C. SELECT deyiminde çıkarma kullanma

Aşağıdaki örnek, en yüksek taban oranlı çalışan ile en düşük vergi oranına sahip çalışan arasındaki taban oran farkını tablodan dimEmployee hesaplar.

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