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.
