Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Fungsi ROUND(angka) di Oracle

Di Oracle, ROUND(number) fungsi mengembalikan angka yang dibulatkan ke sejumlah tempat desimal tertentu.

Secara default, ini membulatkan angka ke nol tempat desimal, tetapi Anda dapat memberikan argumen opsional yang menentukan jumlah tempat desimal yang akan digunakan.

Oracle juga memiliki ROUND(date) sintaks, yang digunakan pada tanggal. Artikel ini semata-mata tentang ROUND(number) sintaks, yang digunakan pada angka.

Sintaks

Sintaksnya seperti ini:

ROUND(n [, integer ])

Dimana n dapat berupa tipe data numerik apa pun atau tipe data nonnumerik apa pun yang dapat secara implisit dikonversi ke tipe data numerik, dan integer adalah bilangan bulat opsional yang menentukan jumlah tempat desimal yang akan dibulatkan n untuk.

Contoh

Ini contohnya:

SELECT ROUND(7.85)
FROM DUAL;

Hasil:

   ROUND(7.85) 
______________ 
             8 

Nilai Negatif

Mengalihkannya ke nilai negatif menghasilkan hasil berikut:

SELECT ROUND(-7.85)
FROM DUAL;

Hasil:

   ROUND(-7.85) 
_______________ 
             -8

Argumen Kedua

Berikut ini contoh memberikan argumen kedua:

SELECT ROUND(7.85, 1)
FROM DUAL;

Hasil:

   ROUND(7.85,1) 
________________ 
             7.9

Dalam hal ini, saya menetapkan bahwa hasilnya harus dibulatkan ke satu tempat desimal.

Berikut contoh lain dengan jumlah tempat desimal yang lebih besar:

SELECT ROUND(3.14159265359, 4)
FROM DUAL;

Hasil:

   ROUND(3.14159265359,4) 
_________________________ 
                   3.1416

Pembulatan Negatif

Anda juga dapat menentukan nilai negatif untuk argumen kedua. Melakukannya akan membulatkan angka di sebelah kiri koma desimal:

SELECT ROUND(75631, -3)
FROM DUAL;

Hasil:

   ROUND(75631,-3) 
__________________ 
             76000

Pembulatan Argumen Non-Numerik

Inilah yang terjadi ketika kami mencoba membulatkan argumen non-numerik yang tidak dapat dikonversi ke tipe data numerik:

SELECT ROUND('Bruce')
FROM DUAL;

Hasil:

Error starting at line : 1 in command -
SELECT ROUND('Bruce')
FROM DUAL
Error report -
ORA-01722: invalid number

Namun, kita dapat membulatkan tanggal – ada versi tanggal dari fungsi ini yang memungkinkan kita untuk membulatkan tanggal.

Nilai Null

Mencoba membulatkan null mengembalikan null , dan mencoba membulatkan angka dengan null juga menghasilkan null :

SET NULL 'null';

SELECT 
    ROUND(null),
    ROUND(null, 2),    
    ROUND(2.345, null)
FROM DUAL;

Hasil:

   ROUND(NULL)    ROUND(NULL,2)    ROUND(2.345,NULL) 
______________ ________________ ____________________ 
          null             null                 null 

Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali null terjadi sebagai akibat dari SQL SELECT penyataan.

Namun, Anda dapat menggunakan SET NULL untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null harus dikembalikan.

Jumlah Argumen Salah

Memanggil ROUND() tanpa memberikan argumen apa pun mengembalikan kesalahan:

SELECT ROUND()
FROM DUAL;

Hasil:

Error starting at line : 1 in command -
SELECT ROUND()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00938: not enough arguments for function
00938. 00000 -  "not enough arguments for function"
*Cause:    
*Action:

Dan meneruskan jumlah argumen yang salah menghasilkan kesalahan:

SELECT ROUND(1.34, 2, 3)
FROM DUAL;

Hasil:

Error starting at line : 1 in command -
SELECT ROUND(1.34, 2, 3)
FROM DUAL
Error at Command Line : 1 Column : 23
Error report -
SQL Error: ORA-00939: too many arguments for function
00939. 00000 -  "too many arguments for function"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Struktur pohon dalam sql di Oracle. Cara menampilkan pohon, simpul anak, dan simpul induk di SQL Oracle

  2. Perbarui beberapa kolom dalam pernyataan MERGE ORACLE

  3. Menghubungkan SQL Server ke Oracle

  4. CEIL() Fungsi di Oracle

  5. REMAINDER() Fungsi di Oracle