Fungsi Format Angka di MySQL

3 Mei 2011

Ini adalah fungsi sederhana MySQL untuk mengkonversi angka dengan format #.###.###. Sebenarnya MySQL sendiri sudah menyediakan built-in function yaitu FORMAT(), namun outputnya hanya mendukung format pemisahakan ribuan dengan koma, dan itu tidak sesuai dengan format penomoran yang biasa kita pakai di Indonesia yaitu angka ribuan dipisahkan dengan titik. Untuk itu saya membuat fungsi sederhana sehingga tidak perlu melakukan pemanggilan fungsi FORMAT() berkali-kali dan yang jelas tidak perlu melakukan perubahan format angka lagi jika ingin dipanggil di bahasa pemrogramman lain.

Langkah-langkahnya adalah:

1. Login ke mysql

2. Buat sebuah fungsi, dalam contoh saya namakan ‘fNumberFormat’.

mysql> DELIMITER $$
mysql> DROP FUNCTION IF EXISTS fNumberFormat $$
mysql> CREATE FUNCTION fNumberFormat (number BIGINT) RETURNS VARCHAR(255) DETERMINISTIC
-> BEGIN
-> DECLARE output VARCHAR(255);
-> SET output = REPLACE(REPLACE(REPLACE(FORMAT(number, 0), '.', '|'), ',', '.'), '|', ',');
-> RETURN (output);
-> END $$
mysql> DELIMITER ;

3. Cara memanggil fungsi di MySQL cukup mudah, cukup dengan mengetikkan SELECT fNumberFormat(0000), contoh:

mysql> SELECT fNumberFormat(12001001000100);

dan hasilnya seperti berikut:

+-------------------------------+
| fNumberFormat(12001001000100) |
+-------------------------------+
| 12.001.001.000.100            |
+-------------------------------+
1 row in set (0.00 sec)

Cukup simpel bukan? :) Selamat mencoba.

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.