Di SQL Server, Anda dapat menggunakan T-SQL FORMAT()
berfungsi untuk memformat angka sebagai mata uang.
FORMAT()
fungsi memungkinkan Anda untuk memformat angka, tanggal, mata uang, dll. Ini menerima tiga argumen; nomor, format, dan argumen "budaya" opsional. Artikel ini secara khusus membahas penggunaan argumen format untuk menentukan mata uang.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh pemformatan angka sebagai mata uang:
SELECT FORMAT(1234, 'C') Result;
Hasil:
+-----------+ | Result | |-----------| | $1,234.00 | +-----------+
Dalam hal ini, saya menggunakan C
sebagai argumen kedua. Ini adalah string format numerik standar untuk Mata Uang.
Contoh 2 – Sensitivitas Huruf Besar
Argumen ini tidak peka huruf besar/kecil, jadi C
atau c
mengembalikan hasil yang sama:
SELECT FORMAT(1234, 'c') Result;
Hasil:
+-----------+ | Result | |-----------| | $1,234.00 | +-----------+
Contoh 3 – Tempat Desimal
Ini contoh lain, kali ini menggunakan C0
untuk menentukan bahwa kami tidak menginginkan tempat desimal:
SELECT FORMAT(1234, 'C0') Result;
Hasil:
+----------+ | Result | |----------| | $1,234 | +----------+
Ini disebut sebagai "penentu presisi", mungkin karena ini memungkinkan Anda menentukan presisi yang digunakan untuk menampilkan hasil.
Anda juga dapat menambah jumlah tempat desimal:
SELECT FORMAT(1234, 'C4') Result;
Hasil:
+-------------+ | Result | |-------------| | $1,234.0000 | +-------------+
Contoh 4 – Lokal
Contoh sebelumnya semuanya menghasilkan tanda dolar yang diawali dengan nomor tersebut. Ini baik-baik saja jika mata uang yang diinginkan dalam dolar, tetapi bagaimana jika Anda perlu menampilkannya dalam mata uang yang berbeda?
Anda dapat menggunakan argumen ketiga untuk menentukan lokal. Ini akan secara otomatis menghasilkan simbol mata uang yang sesuai digunakan untuk lokal tersebut:
SELECT FORMAT(1234, 'C', 'fr-FR') Result;
Hasil:
+------------+ | Result | |------------| | 1 234,00 € | +------------+
Berikut beberapa lokal lainnya:
SELECT FORMAT(1234, 'C', 'fr-FR') 'France', FORMAT(1234, 'C', 'zh-cn') 'China', FORMAT(1234, 'C', 'th-TH') 'Thailand', FORMAT(1234, 'C', 'de-DE') 'Germany';
Hasil:
+------------+-----------+------------+------------+ | France | China | Thailand | Germany | |------------+-----------+------------+------------| | 1 234,00 € | ¥1,234.00 | ฿1,234.00 | 1.234,00 € | +------------+-----------+------------+------------+
Jika budaya argumen tidak ditentukan, bahasa sesi saat ini digunakan.
Berikut cara menemukan bahasa sesi saat ini, dan cara menyetelnya.
Perhatikan bahwa bahasa saat ini biasanya akan sama dengan bahasa default pengguna, tetapi ini mungkin tidak terjadi jika pengguna telah mengubah bahasa saat ini menggunakan SET LANGUAGE
. Bagaimanapun, Anda juga dapat mengetahui apa bahasa defaultnya.
Seperti yang Anda bayangkan, Anda bisa mendapatkan hasil yang sangat berbeda tergantung pada bahasa Anda saat ini atau nilai argumen "budaya" apa pun. Lihat Bagaimana Setelan Bahasa dapat Mempengaruhi Hasil FORMAT() Anda untuk contoh lainnya.