- (減算) (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

2 つの値で減算を行います (算術減算演算子)。 日付から日数を減算することもできます。

Transact-SQL 構文表記規則

構文

expression - expression  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

式 (expression)
数値のデータ型カテゴリのいずれかのデータ型の有効なです。ただし、bit 型は除きます。 datetimedatetime2、または datetimeoffset データ型と共に使用することはできません。

戻り値の型

優先順位が高い引数のデータ型を返します。 詳細については、「データ型の優先順位 (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)