% (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 do SQL Warehouse no Microsoft Fabric
Retorna o resto de um número dividido por outro.
Convenções de sintaxe de Transact-SQL
Sintaxe
dividend % divisor
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;
Veja a seguir o conjunto de resultados.
1