% (Modulus) (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Menghasilkan sisa satu angka dibagi dengan angka lainnya.

Konvensi sintaks transact-SQL

Sintaksis

dividend % divisor

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

dividend

Ekspresi numerik yang akan dibagi. dividen harus merupakan ekspresi yang valid dari salah satu jenis data dalam kategori bilangan bulat dan jenis data moneter, atau jenis data numerik.

divisor

Ekspresi numerik untuk membagi dividen. divisor harus berupa ekspresi valid dari salah satu jenis data dalam kategori bilangan bulat dan jenis data moneter, atau jenis data numerik .

Jenis hasil

Ditentukan oleh jenis data dari dua argumen.

Keterangan

Anda dapat menggunakan operator aritmatika modulo dalam daftar SELECT pernyataan pilihan dengan kombinasi nama kolom, konstanta numerik, atau ekspresi valid dari kategori bilangan bulat dan jenis data moneter, atau jenis data numerik .

Contoh

Artikel ini memerlukan AdventureWorks2022 database sampel, yang dapat Anda unduh dari beranda Sampel Microsoft SQL Server dan Proyek Komunitas.

J. Contoh dasar

Contoh berikut membagi angka 38 dengan 5. Hasilnya adalah 7 sebagai bagian bilangan bulat dari hasilnya, dan menunjukkan bagaimana modulo mengembalikan sisa .3

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

B. Contoh menggunakan kolom dalam tabel

Contoh berikut mengembalikan nomor ID produk, harga satuan produk, dan modulo (sisanya) dari pembagian harga setiap produk, dikonversi ke nilai bilangan bulat, ke dalam jumlah produk yang dipesan.

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

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

C: Contoh dasar

Contoh berikut menunjukkan hasil untuk % operator saat membadingkan 3 dengan 2.

SELECT TOP(1) 3 % 2
FROM DimEmployee;

Berikut adalah hasil yang ditetapkan.

1