ROUND (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
Mengembalikan nilai numerik, dibulatkan ke panjang atau presisi yang ditentukan.
Sintaksis
ROUND ( numeric_expression , length [ ,function ] )
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
numeric_expression
Adalah ekspresi dari kategori jenis data numerik atau perkiraan numerik yang tepat.
length
Apakah presisi yang numeric_expression akan dibulatkan. panjang harus berupa ekspresi tipe tinyint, smallint, atau int. Ketika panjang adalah angka positif, numeric_expression dibulatkan ke jumlah posisi desimal yang ditentukan oleh panjang. Ketika panjang adalah angka negatif, numeric_expression dibulatkan di sisi kiri titik desimal, seperti yang ditentukan oleh panjang.
fungsi
Adalah jenis operasi yang harus dilakukan. fungsi harus tinyint, smallint, atau int. Ketika fungsi dihilangkan atau memiliki nilai 0 (default), numeric_expression dibulatkan. Saat nilai selain 0 ditentukan, numeric_expression dipotong.
Jenis Kembalian
Mengembalikan jenis data berikut.
Hasil ekspresi | Jenis Pengembalian |
---|---|
kecil | int |
smallint | int |
int | int |
bigint | bigint |
kategori desimal dan numerik (p, s) | desimal(p, s) |
kategori uang dan smallmoney | Uang |
float dan kategori nyata | float |
Keterangan
ROUND selalu mengembalikan nilai. Jika panjang negatif dan lebih besar dari jumlah digit sebelum titik desimal, ROUND mengembalikan 0.
Contoh | Hasil |
---|---|
ROUND(748.58, -4) | 0 |
ROUND mengembalikan numeric_expression bulat, terlepas dari jenis data, jika panjangnya adalah angka negatif.
Contoh | Hasil |
---|---|
ROUND(748.58, -1) | 750.00 |
ROUND(748.58, -2) | 700.00 |
ROUND(748.58, -3) | Menghasilkan luapan aritmatika, karena 748,58 default ke desimal(5,2), yang tidak dapat mengembalikan 1000,00. |
Untuk membulatkan ke atas hingga 4 digit, ubah jenis data input. Contohnya:SELECT ROUND(CAST (748.58 AS decimal (6,2)),-3); |
1000.00 |
Contoh
J. Menggunakan ROUND dan perkiraan
Contoh berikut menunjukkan dua ekspresi yang ditunjukkan dengan menggunakan ROUND
digit terakhir selalu merupakan perkiraan.
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3);
GO
Berikut adalah hasil yang ditetapkan.
----------- -----------
123.9990 124.0000
B. Menggunakan perkiraan ROUND dan rounding
Contoh berikut menunjukkan pembulatan dan perkiraan.
SELECT ROUND(123.4545, 2), ROUND(123.45, -2);
Berikut adalah hasil yang ditetapkan.
---------- ----------
123.4500 100.00
C. Menggunakan ROUND untuk memotong
Contoh berikut menggunakan dua SELECT
pernyataan untuk menunjukkan perbedaan antara pembulatan dan pemotongan. Pernyataan pertama membulatkan hasil. Pernyataan kedua memotong hasilnya.
SELECT ROUND(150.75, 0);
GO
SELECT ROUND(150.75, 0, 1);
GO
Berikut adalah hasil yang ditetapkan.
--------
151.00
(1 row(s) affected)
--------
150.00
(1 row(s) affected)
Lihat Juga
CEILING (Transact-SQL)
Tipe Data (Transact-SQL)
Ekspresi (Transact-SQL)
FLOOR (Transact-SQL)
Fungsi Matematika (SQL Transact)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk