Saat menggunakan Oracle Database, Anda dapat menggunakan fungsi seperti TO_CHAR(number)
untuk mengembalikan angka sebagai string. Ini memungkinkan Anda memformat angka untuk memiliki jumlah tempat desimal tertentu – termasuk tanpa tempat desimal, jika itu yang Anda inginkan.
Anda juga dapat menggunakan fungsi seperti ROUND(number)
dan TRUNC(number)
untuk membulatkan atau memotong angka menjadi tanpa desimal.
Ada juga CAST()
fungsi yang memungkinkan Anda untuk mentransmisikan tipe data sebagai bilangan bulat, yang secara efektif menghapus semua tempat desimal.
TO_CHAR()
Fungsi
Berikut adalah contoh yang menggunakan TO_CHAR(number)
fungsi:
SELECT TO_CHAR(1234.56, 'fm99G999')
FROM DUAL;
Hasil:
1,235
Dalam hal ini model format saya terdiri dari:
- satu
fm
, yang merupakan pengubah format yang menghapus karakter pengisi awal dan/atau akhir yang mungkin ditambahkan ke hasil. - beberapa
9
karakter, yang mewakili setiap digit - satu
G
karakter, yang mewakili pemisah grup yang sadar-lokal
Yang penting diperhatikan adalah tidak menggunakan D
elemen format, yang merupakan karakter desimal yang sadar format. Juga tidak menggunakan karakter desimal literal (seperti koma atau titik). Dan karena tidak memiliki karakter desimal, jelas tidak ada angka yang mengikuti karakter tersebut.
Jika kami melakukannya memiliki karakter desimal, 9
atau 0
elemen di sebelah kanannya dapat menghasilkan tempat desimal yang disertakan dalam hasil.
Contoh:
SELECT TO_CHAR(7, 'fm99D00')
FROM DUAL;
Hasil:
7.00
Untuk menekan angka nol yang tertinggal, kita dapat mengubah 0
karakter ke 9
s. Namun, menghapus fm
pengubah dapat menghasilkan angka nol yang tertinggal bahkan saat menggunakan 9
elemen format.
Berikut perbandingan untuk menggambarkan apa yang saya maksud:
SELECT
TO_CHAR(7, 'fm99D00') AS "r1",
TO_CHAR(7, 'fm99D99') AS "r2",
TO_CHAR(7, '99D99') AS "r3"
FROM DUAL;
Hasil:
r1 r2 r3 _______ _____ _________ 7.00 7. 7.00
The ROUND()
Fungsi
Berikut adalah contoh yang menggunakan ROUND(number)
fungsi:
SELECT ROUND(1234.56, 0)
FROM DUAL;
Hasil:
1235
ROUND()
fungsi membulatkan angka ke tempat desimal tertentu. Di sini, kami menentukan nol tempat desimal, yang menghapus semua tempat desimal dari nomor tersebut.
Dalam hal ini, jumlahnya dibulatkan.
TRUNC()
Fungsi
Berikut adalah contoh yang menggunakan TRUNC(number)
fungsi:
SELECT TRUNC(1234.56, 0)
FROM DUAL;
Hasil:
1234
TRUNC()
fungsi memotong angka ke tempat desimal tertentu. Tidak terjadi pembulatan. Oleh karena itu, angka ini dipotong menjadi nol desimal, tanpa pembulatan.
CAST()
Fungsi
Berikut adalah contoh yang menggunakan CAST()
fungsi:
SELECT CAST(1234.56 AS INT)
FROM DUAL;
Hasil:
1235
CAST()
fungsi mengubah argumennya menjadi tipe data yang berbeda. Dalam hal ini kami mengonversi angka menjadi bilangan bulat. Bilangan bulat tidak memiliki tempat desimal, sehingga semua bagian pecahan dihilangkan dari hasil (termasuk karakter desimal). Perhatikan bahwa hasilnya telah dibulatkan.