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.