% (Módulo) (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse 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 inteiros e monetários ou do tipo de dados numéricos .

Exemplos

Este artigo requer o banco de dados de exemplo AdventureWorks2022, que pode ser baixado na 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 do 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 resultados para o % operador ao dividir 3 por 2.

SELECT TOP(1) 3 % 2
FROM DimEmployee;

Este é o conjunto de resultados.

1