Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

ROUND() Contoh di SQL Server

Di SQL Server, T-SQL ROUND() fungsi memungkinkan Anda membulatkan angka ke panjang atau presisi tertentu.

Anda memberikan angka sebagai argumen, serta panjang angka yang Anda inginkan untuk dibulatkan. Fungsi ini juga menerima argumen ketiga opsional yang memungkinkan Anda menentukan apakah angka dibulatkan atau dipotong.

Sintaks

Sintaksnya seperti ini:

ROUND ( numeric_expression , length [ ,function ] )  

Di mana argumen memiliki definisi berikut:

ekspresi_numerik
Merupakan ekspresi dari kategori tipe data numerik atau perkiraan numerik yang tepat, kecuali untuk bit tipe data.
panjang
Apakah ketepatan numeric_expression adalah untuk dibulatkan. Argumen ini harus berupa ekspresi tipe tinyint , kecil , atau int . Bila itu bilangan positif, numeric_expression dibulatkan ke jumlah posisi desimal yang ditentukan oleh argumen ini. Jika bilangan negatif, numeric_expression dibulatkan di sisi kiri titik desimal, seperti yang ditentukan oleh argumen ini.
fungsi
Apakah jenis operasi yang akan dilakukan. Ini harus kecil , kecil , atau int . Ketika argumen ini dihilangkan atau memiliki nilai 0 (default), numeric_expression dibulatkan. Ketika nilai selain 0 ditentukan, numeric_expression terpotong.

Contoh 1 – Penggunaan Dasar

Berikut adalah contoh dasar untuk mendemonstrasikan cara kerja fungsi ini.

SELECT ROUND(1.49, 1) Result;

Hasil:

+----------+
| Result   |
|----------|
| 1.50     |
+----------+

Dalam hal ini jumlahnya dibulatkan.

Contoh 2 – Tempat Nol Desimal

Jika kita menyetel argumen kedua ke nol, inilah yang terjadi:

SELECT ROUND(1.49, 0) Result;

Hasil:

+----------+
| Result   |
|----------|
| 1.00     |
+----------+

Ini karena kami menetapkan nol bagian pecahan untuk membulatkan angka.

Dan inilah yang terjadi jika saya mengubah angka awal menjadi 1,50:

SELECT ROUND(1.50, 0) Result;

Hasil:

+----------+
| Result   |
|----------|
| 2.00     |
+----------+

Contoh 3 – Lebih Banyak Tempat Desimal

Berikut adalah contoh di mana angka yang akan dibulatkan berisi lebih banyak tempat desimal.

SELECT ROUND(1.234, 2) Result;

Hasil:

+----------+
| Result   |
|----------|
| 1.230    |
+----------+

Dan inilah yang terjadi ketika saya menambah angka terakhir menjadi 5:

SELECT ROUND(1.235, 2) Result;

Hasil:

+----------+
| Result   |
|----------|
| 1.240    |
+----------+

Tentu saja, kita bisa menggunakan lebih banyak tempat desimal. Misalnya, kita bisa memangkas banyak desimal ke bawah.

SELECT ROUND(1.23456789123456789, 8) Result;

Hasil:

+---------------------+
| Result              |
|---------------------|
| 1.23456789000000000 |
+---------------------+

Contoh 4 – Pemotongan (yaitu menggunakan argumen ketiga)

Seperti yang disebutkan, kami dapat memberikan argumen ketiga untuk menentukan apakah hasilnya terpotong atau hanya dibulatkan. Contoh sebelumnya semuanya dibulatkan karena kami tidak menentukan argumen ketiga. Ketika kita menghilangkan argumen ketiga, nilai 0 digunakan (yang berarti membulatkan hasil). Jika kami memberikan nilai selain 0, hasilnya akan terpotong.

SELECT 
  ROUND(1.236, 2) 'Rounded (by default)',
  ROUND(1.236, 2, 0) 'Rounded (explicitly)',
  ROUND(1.236, 2, 1) 'Truncated';

Hasil:

+------------------------+------------------------+-------------+
| Rounded (by default)   | Rounded (explicitly)   | Truncated   |
|------------------------+------------------------+-------------|
| 1.240                  | 1.240                  | 1.230       |
+------------------------+------------------------+-------------+

Contoh 5 – Menggunakan Nilai Negatif untuk Argumen Kedua

Berikut cara menggunakan nilai negatif pada argumen kedua untuk membuat bagian non-fraksional dibulatkan menjadi nol.

SELECT ROUND(123.456, -1) Result;

Hasil:

+----------+
| Result   |
|----------|
| 120.000  |
+----------+

Dan begini cara pembulatannya jika kita menambah 3 ke 5 atau lebih.

SELECT ROUND(125.456, -1) Result;

Hasil:

+----------+
| Result   |
|----------|
| 130.000  |
+----------+

Anda dapat melakukan ini meskipun angka tersebut tidak mengandung bagian pecahan.

SELECT ROUND(125, -1) Result;

Hasil:

+----------+
| Result   |
|----------|
| 130      |
+----------+

Contoh 6 – Pembulatan Bilangan Negatif vs Bilangan Positif

Seperti yang terlihat pada contoh sebelumnya, saat menggunakan bilangan positif, nilai dengan bagian pecahan .5 atau lebih besar dibulatkan ke atas ke bilangan bulat berikutnya.

Namun, saat menggunakan angka negatif, nilai tersebut dibulatkan bawah .

SELECT 
  ROUND(1.50, 0) Positive,
  ROUND(-1.50, 0) Negative;

Hasil:

+------------+------------+
| Positive   | Negative   |
|------------+------------|
| 2.00       | -2.00      |
+------------+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengganti Semua Kemunculan String dengan String lain di SQL Server – REPLACE ()

  2. varbinary ke string di SQL Server

  3. Periksa apakah ada file atau tidak di sql server?

  4. Jatuhkan semua tabel yang namanya dimulai dengan string tertentu

  5. Bagaimana cara mengubah String ke Hex dan sebaliknya?