Compartilhar via


% (Módulo) (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric

Retorna o resto de um número dividido por outro.

Convenções de sintaxe de Transact-SQL

Sintaxe

dividend % divisor

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

dividend

A expressão numérica a divisão. dividend deve ser uma expression válida de um dos tipos de dados nas categorias de tipo de dados inteiros e monetários ou no tipo de dados numeric.

divisor

A expressão numérica pela qual dividir o dividendo. divisor deve ser qualquer expressão válida de um dos tipos de dados nas categorias de tipos de dados inteiros e monetários ou no tipo de dados numeric.

Tipos de resultado

Determinado por tipos de dados dos dois argumentos.

Comentários

Você pode usar o operador aritmético de módulo na lista de seleção da SELECT instrução com qualquer combinação de nomes de coluna, constantes numéricas ou qualquer expressão válida das categorias de tipo de dados inteiro e monetário ou do tipo de dados numérico.

Exemplos

Os exemplos de código do Transact-SQL deste artigo usa o banco de dados de exemplo AdventureWorks2022 ou AdventureWorksDW2022, que pode ser baixado da home page Microsoft SQL Server Samples and Community Projects.

R. Exemplo básico

O exemplo a seguir divide o número 38 por 5. O resultado é 7 como a parte inteira do resultado e demonstra como o módulo retorna o restante de 3.

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

B. Exemplo com o uso de colunas em uma tabela

O exemplo a seguir retorna o número da ID de produto, o preço unitário do produto e o módulo (resto) da divisão do preço de cada produto, convertido em um valor inteiro, pelo número de produtos ordenados.

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

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

C: Exemplo básico

O exemplo a seguir mostra os resultados para o % operador ao dividir 3 por 2.

SELECT TOP(1) 3 % 2
FROM DimEmployee;

Este é o conjunto de resultados.

1