# % (Modulus) (Transact-SQL)

**Applies to:** SQL Server (all supported versions) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Parallel Data Warehouse

Returns the remainder of one number divided by another.

Transact-SQL Syntax Conventions

## Syntax

```
dividend % divisor
```

Note

To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

## Arguments

*dividend*

Is the numeric expression to divide. *dividend* must be a valid expression of any one of the data types in the integer and monetary data type categories, or the **numeric** data type.

*divisor*

Is the numeric expression by which to divide the dividend. *divisor* must be any valid expression of any one of the data types in the integer and monetary data type categories, or the **numeric** data type.

## Result Types

Determined by data types of the two arguments.

## Remarks

You can use the modulo arithmetic operator in the select list of the SELECT statement with any combination of column names, numeric constants, or any valid expression of the integer and monetary data type categories or the **numeric** data type.

## Examples

### A. Simple example

The following example divides the number 38 by 5. This results in 7 as the integer portion of the result and demonstrates how modulo returns the remainder of 3.

```
SELECT 38 / 5 AS Integer, 38 % 5 AS Remainder;
```

### B. Example using columns in a table

The following example returns the product ID number, the unit price of the product, and the modulo (remainder) of dividing the price of each product, converted to an integer value, into the number of products ordered.

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

## Examples: Azure Synapse Analytics and Parallel Data Warehouse

### C: Simple example

The following example shows results for the `%`

operator when dividing 3 by 2.

```
-- Uses AdventureWorks
SELECT TOP(1) 3%2 FROM dimEmployee;
```

Here is the result set.

```
---------
1
```

## See Also

Built-in Functions (Transact-SQL)

LIKE (Transact-SQL)

Operators (Transact-SQL)

SELECT (Transact-SQL)

%= (Modulus Assignment) (Transact-SQL)

Compound Operators (Transact-SQL)