Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fungsi MOD
Mengembalikan sisa dari dua angka, atau dikenal sebagai operasi modulo. Untuk menghitung hasilnya, parameter pertama dibagi dengan yang kedua.
Sintaksis
MOD(number1, number2)
Argumen
- nomor1
-
Parameter input pertama adalah
INTEGER,SMALLINT,BIGINT, atauDECIMALangka. Jika salah satu parameter adalahDECIMALtipe, parameter lainnya juga harus berupaDECIMALtipe. Jika salah satu parameter adalah aINTEGER, parameter lainnya dapat berupaINTEGER,SMALLINT, atauBIGINT. Kedua parameter juga bisaSMALLINTatauBIGINT, tetapi satu parameter tidak bisa menjadi aSMALLINTjika yang lain adalah aBIGINT. - nomor2
-
Parameter kedua adalah
INTEGERangkaSMALLINT,BIGINT,, atauDECIMAL. Aturan tipe data yang sama berlaku untuk number2 seperti untuk number 1.
Jenis pengembalian
Jenis pengembalian fungsi MOD adalah tipe numerik yang sama dengan parameter input, jika kedua parameter input adalah tipe yang sama. NamunINTEGER, jika salah satu parameter input adalah, tipe pengembalian juga akan menjadiINTEGER. Jenis pengembalian yang valid adalah DECIMALINT,SMALLINT,, danBIGINT.
Catatan penggunaan
Anda dapat menggunakan % sebagai operator modulo.
Contoh
Untuk mengembalikan sisanya ketika angka dibagi dengan yang lain, gunakan contoh berikut.
SELECT MOD(10, 4);+-----+ | mod | +-----+ | 2 | +-----+
Untuk mengembalikan DECIMAL hasil saat menggunakan fungsi MOD, gunakan contoh berikut.
SELECT MOD(10.5, 4);+-----+ | mod | +-----+ | 2.5 | +-----+
Untuk memberikan angka sebelum menjalankan fungsi MOD, gunakan contoh berikut. Untuk informasi selengkapnya, lihat Fungsi CAST.
SELECT MOD(CAST(16.4 AS INTEGER), 5);+-----+ | mod | +-----+ | 1 | +-----+
Untuk memeriksa apakah parameter pertama genap dengan membaginya dengan 2, gunakan contoh berikut.
SELECT mod(5,2) = 0 AS is_even;+---------+ | is_even | +---------+ | false | +---------+
Untuk menggunakan% sebagai operator modulo, gunakan contoh berikut.
SELECT 11 % 4 as remainder;+-----------+ | remainder | +-----------+ | 3 | +-----------+
Contoh berikut menggunakan database sampel TICKIT. Untuk informasi selengkapnya, lihat Database sampel.
Untuk mengembalikan informasi untuk kategori bernomor ganjil dalam tabel KATEGORI, gunakan contoh berikut.
SELECT catid, catname FROM category WHERE MOD(catid,2)=1 ORDER BY 1,2;+-------+-----------+ | catid | catname | +-------+-----------+ | 1 | MLB | | 3 | NFL | | 5 | MLS | | 7 | Plays | | 9 | Pop | | 11 | Classical | +-------+-----------+