次の方法で共有


- (減算) (Transact-SQL)

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

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

Transact-SQL 構文表記規則

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;