Bagikan melalui


% (Modulus) (Transact-SQL)

Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric

Menghasilkan sisa satu angka dibagi dengan angka lainnya.

Konvensi sintaks transact-SQL

Sintaks

dividend % divisor

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

Sampel kode Transact-SQL dalam artikel ini menggunakan AdventureWorks2022 database sampel atau AdventureWorksDW2022 , yang dapat Anda unduh dari halaman 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 set hasilnya.

1