Meskipun Oracle Database memiliki TO_CHAR(number)
fungsi yang memungkinkan kita untuk memformat angka, tidak menyediakan elemen format untuk tanda persentase.
Oleh karena itu, jika kita ingin memformat angka sebagai persentase di Oracle Database, kita perlu menggabungkan tanda persentase dan angka.
Contoh
Kita dapat menggunakan CONCAT()
berfungsi untuk menggabungkan angka dan tanda persentase.
Kami masih dapat menggunakan TO_CHAR(number)
berfungsi untuk memformat angka sehingga memiliki tempat desimal yang diinginkan, di depan nol (atau tidak), dll:
SELECT CONCAT(TO_CHAR(18, 'fm00D00'), '%')
FROM DUAL;
Hasil:
18.00%
Di sini, saya menggunakan 0
elemen format, yang berarti bahwa posisi digit akan selalu dicetak, meskipun mengandung nol di depan/di belakang.
Saya juga menggunakan fm
pengubah format untuk menekan nol atau kosong di depan/di belakang.
Ini dia dengan beberapa model format lainnya:
SELECT
CONCAT(TO_CHAR(7, 'fm00'), '%') AS "1",
CONCAT(TO_CHAR(7, 'fm99'), '%') AS "2",
CONCAT(TO_CHAR(7.4567, 'fm0D00'), '%') AS "3",
CONCAT(TO_CHAR(7, 'fm0D00'), '%') AS "4"
FROM DUAL;
Hasil:
1 2 3 4 ______ _____ ________ ________ 07% 7% 7.46% 7.00%
Kami dapat melakukan perhitungan terhadap angka jika diperlukan:
SELECT
CONCAT(TO_CHAR(18 * 0.1, 'fm99D00'), '%') AS "1",
CONCAT(TO_CHAR(0.18 * 100, 'fm99D00'), '%') AS "2"
FROM DUAL;
Hasil:
1 2 ________ _________ 1.80% 18.00%
Dalam hal ini saya menyertakan 9
elemen format sehingga nol di depan dihilangkan.
Menghilangkan TO_CHAR()
Fungsi
Jika kita tidak memiliki kebutuhan khusus untuk memformat angka selain mengubahnya menjadi format persentase, maka kita bahkan tidak memerlukan TO_CHAR()
fungsi:
SELECT CONCAT(18, '%')
FROM DUAL;
Hasil:
18%
Operator Penggabungan
Cara lain untuk menggabungkan angka dan tanda persentase adalah dengan menggunakan operator penggabungan (||
):
SELECT 18 || '%'
FROM DUAL;
Hasil:
18%
Dan ini dia dengan TO_CHAR()
fungsi ditambahkan untuk pemformatan ekstra:
SELECT TO_CHAR(18, 'fm00D00') || '%'
FROM DUAL;
Hasil:
18.00%