% (剰余) (Transact-SQL)

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

ある値を別の値で除算した結果の余りを返します。

Transact-SQL 構文表記規則

構文

dividend % divisor

Note

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

引数

dividend

除算する数値式。 dividend には、整数および通貨型に分類されるデータ型、または numeric データ型の有効なを指定する必要があります。

divisor

被除数を除算する数式。 divisor には、整数および通貨型に分類されるデータ型、または numeric データ型の任意の有効な式を指定する必要があります。

結果の型

2 つの引数のデータ型によって決まります。

解説

ステートメントの選択リストSELECTで剰余算術演算子を使用すると、列名、数値定数、整数および通貨データ型カテゴリの任意の有効な式、または数値データ型を任意に組み合わせて使用できます。

この記事には AdventureWorks2022 サンプル データベースが必要です。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクトのホーム ページからダウンロードできます。

A. 基本的な例

次の例では、数値 38 を . で 5除算します。 結果は7結果の整数部分であり、剰余が メインder 3を返す方法を示します。

SELECT
    38 / 5 AS [Integer],
    38 % 5 AS [Remainder];

B. テーブルの列を使用した例

次の例では、製品 ID 番号、製品の単価、および注文された製品数を各製品の価格で割った余り (剰余) を整数値に変換した値を返します。

SELECT TOP (100) ProductID,
    UnitPrice,
    OrderQty,
    CAST((UnitPrice) AS INT) % OrderQty AS Modulo
FROM Sales.SalesOrderDetail;
GO

例: Azure Synapse Analytics、Analytics Platform System (PDW)

C: 基本的な例

次の例は、演算子で除算するときの結果%32示しています。

SELECT TOP(1) 3 % 2
FROM DimEmployee;

結果セットは次のようになります。

1