適用於:SQL Server
Azure SQL Database
Azure SQL 受控執行個體
Azure Synapse Analytics
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉庫
Microsoft Fabric 中的 SQL 資料庫
執行兩個數字的減法運算 (算術減法運算子)。 也可以從日期中減去一個數字 (表示天數)。
Syntax
expression - expression
Arguments
expression
數值數據類型類別目錄之任一數據類型的任何有效 表達式 ,但 位 數據類型除外。 無法與 date、 time、 datetime2 或 datetimeoffset 數據類型搭配使用。
傳回類型
傳回優先順序較高之引數的資料類型。 如需詳細資訊,請參閱 數據類型優先順序。
Examples
本文中的程式代碼範例會使用 AdventureWorks2025 或 AdventureWorksDW2025 範例資料庫,您可以從 Microsoft SQL Server 範例和社群專案 首頁下載。
A. 在 SELECT 語句中使用減法
下列範例會計算最高稅率之州或省之間的稅率差異,以及稅率最低的州或省。
適用於:SQL Server 和 SQL Database。
SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference'
FROM Sales.SalesTaxRate
WHERE StateProvinceID IS NOT NULL;
GO
您可以使用括號來變更執行的順序。 首先會驗算括號內的計算。 如果是巢狀括號,最深的巢狀計算優先。
B. 使用日期減法
下列範例會從 日期時間 日期減去數天。
適用於:SQL Server 和 SQL Database。
DECLARE @altstartdate DATETIME;
SET @altstartdate = CONVERT(DATETIME, 'January 10, 1900 3:00 AM', 101);
SELECT @altstartdate - 1.5 AS 'Subtract Date';
結果如下。
Subtract Date
-----------------------
1900-01-08 15:00:00.000
範例:Azure Synapse Analytics
C. 在 SELECT 語句中使用減法
下列範例會從 dimEmployee 資料表,計算基本稅率最高的員工與稅率最低的員工之間的基本稅率差。
SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference
FROM DimEmployee;