次の方法で共有


% (剰余) (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric Warehouse Microsoft Fabric SQL Database

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

Transact-SQL 構文表記規則

構文

dividend % divisor

引数

dividend

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

divisor

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

結果の型

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

解説

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

この記事の Transact-SQL コード サンプルは AdventureWorks2022 または AdventureWorksDW2022 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクトのホーム ページからダウンロードできます。

A. 基本的な例

次の例では、 38 数を 5で除算します。 結果は結果の整数部分として 7 され、剰余 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