適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
Microsoft Fabric の SQL データベース
2 つの値で減算を行います (算術減算演算子)。 日付から日数を減算することもできます。
Syntax
expression - expression
Arguments
expression
ビット データ型を除く、数値データ型カテゴリのいずれかのデータ型の有効な式。 日付、時刻、datetime2、または datetimeoffset データ型では使用できません。
戻り値の型
優先順位が高い引数のデータ型を返します。 詳細については、「 Data 型の優先順位」を参照してください。
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. 日付の減算を使用する
次の例では、 datetime 日付から数日を減算します。
適用対象: 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、Analytics Platform System (PDW)
C. SELECT ステートメントで減算を使用する
次の例では、基本給が最高の従業員と最低税率の従業員の間の基本給の差異を dimEmployee テーブルから計算します。
SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference
FROM DimEmployee;