Condividi tramite


% (modulo) (Transact-SQL)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure endpoint di analisi SQL di Azure Synapse Analytics Platform System (PDW) in Microsoft Fabric Warehouse in Microsoft Fabric

Viene restituito il resto di una divisione.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

dividend % divisor

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere Documentazione delle versioni precedenti.

Argomenti

dividend

Espressione numerica da dividere. dividend deve essere un'espressione valida di uno dei tipi di dati presenti per le categorie di interi e di valuta o del tipo di dati numeric.

divisor

Espressione numerica in base alla quale dividere il dividendo. divisor deve essere qualsiasi espressione valida di uno dei tipi di dati presenti per le categorie di interi e di valuta o del tipo di dati numeric.

Tipi restituiti

Dipendenti dai tipi di dati dei due argomenti.

Osservazioni:

È possibile utilizzare l'operatore aritmetico modulo nell'elenco di selezione dell'istruzione SELECT con qualsiasi combinazione di nomi di colonna, costanti numeriche o qualsiasi espressione valida delle categorie di tipi di dati integer e monetari oppure il tipo di dati numerico .

Esempi

Gli esempi di codice Transact-SQL in questo articolo usano il AdventureWorks2022 database di esempio o AdventureWorksDW2022 , che è possibile scaricare dalla home page degli esempi di Microsoft SQL Server e dei progetti della community.

R. Esempio di base

Nell'esempio seguente il numero 38 viene diviso per 5. Il risultato è 7 come parte intera del risultato e illustra come modulo restituisce il resto di 3.

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

B. Esempio di utilizzo di colonne in una tabella

Nell'esempio seguente viene restituito il numero di serie del prodotto, il prezzo unitario del prodotto e il modulo (resto) della divisione tra il prezzo di ogni prodotto convertito in un valore intero e il numero di prodotti ordinati.

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

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

C: Esempio di base

Nell'esempio seguente vengono illustrati i risultati per l'operatore durante la % divisione 3 per 2.

SELECT TOP(1) 3 % 2
FROM DimEmployee;

Questo è il set di risultati.

1