Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Memformat Angka Sebagai Mata Uang di SQL Server (T-SQL)

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Metode SqlDataAdapter.Fill lambat

  2. SQL Server ROWCOUNT_BIG()

  3. Filter pada klausa Output sql

  4. SQL Server 2016 :Penyempurnaan OLTP Dalam Memori

  5. Ubah float menjadi varchar di SQL Server tanpa notasi ilmiah