Aracılığıyla paylaş


- (Çıkarma) (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki 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, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.

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 ve Analytics Platform Sistemi (PDW)

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;