Compartilhar via


% (Módulo) (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito no Microsoft FabricBanco de dados SQL no Microsoft Fabric

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

Convenções de sintaxe de Transact-SQL

Syntax

dividend % divisor

Arguments

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 resultados

Determinado por tipos de dados dos dois argumentos.

Remarks

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.

Examples

Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que você pode baixar na página inicial Microsoft SQL Server Samples and Community Projects.

A. 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;

Veja a seguir o conjunto de resultados.

1