Sebagian besar RDBMS utama memiliki fungsi yang memungkinkan kita memformat angka dengan koma sebagai pemisah grup, atau pemisah desimal.
Beberapa RDBMS juga menampilkan tipe data numerik tertentu dengan koma di tempat yang relevan.
Di bawah ini adalah contoh pemformatan angka dengan koma di beberapa DBMS yang lebih populer.
MySQL
Di MySQL, kita dapat menggunakan FORMAT()
fungsi untuk memformat angka dengan koma:
SELECT FORMAT(123456.789, 2);
Hasil:
123,456.79
Tidak perlu menentukan di mana koma harus pergi. Fungsinya tahu di mana harus meletakkannya.
Fungsi ini juga menerima argumen ketiga untuk menentukan lokal. Tidak semua lokal menggunakan koma sebagai pemisah grup – beberapa lokal menggunakan koma sebagai pemisah desimal. FORMAT()
fungsinya cukup pintar untuk mengetahui konvensi mana yang digunakan.
Contoh:
SELECT FORMAT(123456.789, 2, 'de_DE');
Hasil:
123.456,79
Oracle
Di Oracle kita dapat menggunakan TO_CHAR()
fungsi untuk memformat angka dengan koma:
SELECT TO_CHAR(12345, 'fm99G999D00')
FROM DUAL;
Hasil:
12,345.00
G
elemen format adalah pengganti untuk pemisah grup, dan elemen D
adalah untuk pemisah desimal.
Dalam hal ini, pemisah grup mengeluarkan koma, dan karakter desimal mengeluarkan titik. Itu karena NLS_TERRITORY
sesi saya saat ini parameter disetel ke Australia
.
Memang benar bahwa kita hanya bisa menggunakan koma hardcoded alih-alih G
elemen format, tetapi itu mengasumsikan bahwa pemisah grup adalah koma. Tidak semua lokal menggunakan koma sebagai pemisah grup.
Lihat Cara Memformat Angka dengan Koma di Oracle untuk informasi lebih lanjut dan contoh memformat angka dengan koma di Oracle.
SQL Server
Di SQL Server kita dapat menggunakan FORMAT()
berfungsi untuk memformat angka dengan koma. Fungsi ini menerima nomor dan format string:
SELECT
FORMAT(123456.789, 'N') AS "Number",
FORMAT(123456.789, 'P') AS "Percent",
FORMAT(123456.789, 'C') AS "Currency";
Hasil:
+------------+----------------+-------------+ | Number | Percent | Currency | |------------+----------------+-------------| | 123,456.79 | 12,345,678.90% | $123,456.79 | +------------+----------------+-------------+
Fungsi ini juga menerima argumen "budaya" opsional untuk menentukan lokal yang akan digunakan untuk keluaran yang diformat.
Anda juga dapat membuat string format kustom Anda sendiri sehingga Anda dapat menentukan dengan tepat ke mana letak setiap pemisah ribuan dan pemisah desimal.
Lihat Cara Memformat Angka dengan Koma di SQL Server untuk contoh.
PostgreSQL
PostgreSQL memiliki TO_CHAR()
fungsi yang bekerja seperti fungsi Oracle dengan nama yang sama:
SELECT TO_CHAR(123456.78, 'fm999G999D99');
Hasil:
123,456.78
Fungsi ini sadar lokal, sehingga akan menampilkan grup yang sesuai dan pemisah desimal untuk lokal.
PostgreSQL juga memiliki money
tipe data, yang dihasilkan dalam format sadar lokal. Lihat Memformat Angka dengan Koma di PostgreSQL sebagai contoh.
SQLite
SQLite sedikit lebih terbatas jika dibandingkan dengan sebagian besar DBMS lainnya. Namun, ia memiliki printf()
fungsi yang memungkinkan kita untuk memformat angka menurut format string:
SELECT printf("%,d", 123456789);
Hasil:
123,456,789
Ini berfungsi baik dengan bilangan bulat, tetapi bilangan real/floating point membutuhkan sedikit lebih banyak pekerjaan. Lihat Memformat Angka dengan Koma di SQLite untuk mengetahui lebih lanjut tentang ini.
Perbarui :SQLite 3.38.0 (dirilis 22 Feb 2022) berganti nama menjadi printf()
berfungsi untuk format()
. printf()
asli nama dipertahankan sebagai alias untuk kompatibilitas mundur.
Jadi contoh di atas bisa diubah menjadi ini:
SELECT format("%,d", 123456789);
Hasil:
123,456,789
MariaDB
Di MariaDB, kita dapat menggunakan FORMAT()
fungsi untuk memformat angka dengan koma:
SELECT FORMAT(123456.789, 2);
Hasil:
123,456.79
Seperti halnya fungsi MySQL dengan nama yang sama, tidak perlu menentukan di mana koma harus diletakkan. Fungsinya tahu di mana harus meletakkannya.