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