共用方式為


- (減法) (Transact-SQL)

適用於:sql Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Platform System (PDW) SQL 分析端點Microsoft網狀架構倉儲中的 Microsoft Fabric SQL 資料庫Microsoft網狀架構

執行兩個數字的減法運算 (算術減法運算子)。 也可以從日期中減去一個數字 (表示天數)。

Transact-SQL 語法慣例

語法

expression - expression  

引數

expression
這是數值資料類型類別目錄中任何一個資料類型的任何有效運算式,但是 bit 資料類型除外。 不能與 datetimedatetime2datetimeoffset 資料類型搭配使用。

結果類型

傳回優先順序較高之引數的資料類型。 如需詳細資訊,請參閱資料類型優先順序 (Transact-SQL)

範例

A. 在 SELECT 陳述式中使用減法

下列範例計算稅率最高的州省與稅率最低的州省之間的稅率差。

適用於:SQL Server 和 SQL Database。

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

您可以使用括號來變更執行的順序。 首先會驗算括號內的計算。 如果是巢狀括號,最深的巢狀計算優先。

B. 使用日期減法

下列範例會從 datetime 日期中減去天數。

適用於:SQL Server 和 SQL Database。

-- Uses the AdventureWorks sample 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  

(1 row(s) affected)

範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

C:在 SELECT 陳述式中使用減法

下列範例會從 dimEmployee 資料表,計算基本稅率最高的員工與稅率最低的員工之間的基本稅率差。

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

另請參閱

-= (減法指派) (Transact-SQL)
複合運算子 (Transact-SQL)
算術運算子 (Transact-SQL)
- (負號) (Transact-SQL)
資料類型 (Transact-SQL)
運算式 (Transact-SQL)
內建函數 (Transact-SQL)
SELECT (Transact-SQL)