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

3 Cara Memformat Angka menjadi 2 Tempat Desimal di Oracle

Saat menggunakan Oracle Database, Anda dapat menggunakan fungsi seperti TO_CHAR(number) untuk mengembalikan angka sebagai string, diformat ke dua tempat desimal (atau berapa pun banyak tempat desimal yang Anda perlukan).

Atau Anda dapat menggunakan fungsi seperti ROUND(number) dan TRUNC(number) untuk membulatkan atau memotong angka ke jumlah tempat desimal yang Anda inginkan.

TO_CHAR() Fungsi

Berikut adalah contoh yang menggunakan TO_CHAR(number) fungsi:

SELECT TO_CHAR(1.2345, 'fm99D00')
FROM DUAL;

Hasil:

1.23

Dalam hal ini, bilangan asli memiliki lebih dari dua tempat desimal, sehingga hasilnya hanya terpotong ke jumlah nol tertentu yang mengikuti karakter desimal/radix (D ) dalam model format.

Alasan saya menggunakan angka nol setelah karakter desimal, adalah untuk memberikan angka nol tambahan jika diperlukan.

Contoh:

SELECT TO_CHAR(7, 'fm99D00')
FROM DUAL;

Hasil:

7.00

Jika saya tidak ingin nol tambahan, saya dapat mengubah 0 karakter ke 9 s.

Berikut perbandingan keduanya:

SELECT 
    TO_CHAR(7, 'fm99D00') AS "r1",
    TO_CHAR(7, 'fm99D99') AS "r2"
FROM DUAL;

Hasil:

     r1    r2 
_______ _____ 
7.00    7.   

Menggunakan 9 s dalam hal ini, menghasilkan karakter radix, tetapi tidak ada tempat desimal.

Saya harus menunjukkan bahwa fm adalah pengubah format yang menghapus padding apa pun yang mungkin diterapkan pada hasil. Anda dapat menghilangkan ini jika Anda tidak keberatan dengan hasilnya. Meskipun, jika Anda melakukan ini, Anda mungkin berakhir dengan nol, bahkan saat menggunakan 9 elemen format.

Inilah yang terjadi ketika saya menghapus fm dari contoh sebelumnya:

SELECT 
    TO_CHAR(7, '99D00') AS "r1",
    TO_CHAR(7, '99D99') AS "r2"
FROM DUAL;

Hasil:

       r1        r2 
_________ _________ 
  7.00      7.00   

Tentu saja, Anda tidak hanya terbatas pada dua tempat desimal – Anda dapat menentukan lebih banyak tempat desimal dalam model format Anda jika diperlukan.

Contoh:

SELECT TO_CHAR(7, 'fm99D0000')
FROM DUAL;

Hasil:

7.0000

The ROUND() Fungsi

Berikut adalah contoh yang menggunakan ROUND(number) fungsi:

SELECT ROUND(1.2573, 2)
FROM DUAL;

Hasil:

1.26

Tdia ROUND() fungsi membulatkan angka ke tempat desimal tertentu. Di sini, kami menentukan dua tempat desimal, tetapi kami dapat menentukan angka apa pun.

Dalam hal ini, jumlahnya dibulatkan.

TRUNC() Fungsi

Berikut adalah contoh yang menggunakan TRUNC(number) fungsi:

SELECT TRUNC(1.2573, 2)
FROM DUAL;

Hasil:

1.25

TRUNC() fungsi memotong angka ke tempat desimal tertentu. Tidak ada pembulatan yang terjadi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada cara untuk menginstal Java di Oracle 11g XE?

  2. Pengumpulan koneksi ODP.NET:Bagaimana cara mengetahui apakah koneksi telah digunakan

  3. Temukan panjang baris terpanjang dalam kolom di oracle

  4. Bagaimana Anda mengatur server tertaut ke database Oracle pada SQL 2000/2005?

  5. Menggunakan kolom Oracle XMLType di hibernate