PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Format Angka dengan Koma di PostgreSQL

Di PostgreSQL, kita dapat menggunakan TO_CHAR() berfungsi untuk memformat angka dalam format tertentu. Ini termasuk memformat angka dengan koma di lokasi yang relevan.

PostgreSQL juga memiliki money tipe data, yang menampilkan nilai menggunakan lokal saat ini. Ini dapat menyertakan koma di tempat yang sesuai, berdasarkan lokal yang digunakan.

TO_CHAR() Fungsi

Berikut ini contoh penggunaan TO_CHAR() fungsi untuk menampilkan angka dengan koma:

SELECT TO_CHAR(123456.78, 'fm999G999D99');

Hasil:

123,456.78

Argumen kedua terdiri dari sekumpulan pola templat numerik yang menentukan bagaimana argumen pertama diformat.

Di sini, saya menggunakan G pola template untuk pemisah grup sadar-lokal (juga disebut sebagai "pemisah ribuan"). Saya bisa menggunakan koma (, ), tapi itu tidak akan sadar-lokal.

Saya juga menggunakan D pola template untuk pemisah desimal yang sadar-lokal.

Dalam hal ini, saya juga menggunakan fm (yang merupakan singkatan dari “Fill Mode”) untuk menekan nol yang tertinggal dan kosong di depan yang mungkin telah diterapkan secara otomatis ke hasil.

9 pola template untuk setiap digit. Anda dapat menggunakan 0 sebagai gantinya jika Anda ingin memasukkan angka nol di depan.

Karena G dan D pola template sadar-lokal, mereka mampu menghasilkan karakter yang sesuai untuk grup dan pemisah desimal.

Berikut ini contoh untuk menunjukkan apa yang saya maksud:

SET lc_numeric = 'fr_FR';
SELECT TO_CHAR(123456.78, 'fm999G999D99');

Hasil:

123,456.78

Sekarang, pemisah grup diwakili oleh titik/titik, dan pemisah desimal diwakili oleh koma. Ini karena saya mengubah lc_numeric variabel untuk menggunakan fr_FR (untuk Prancis), dan merupakan kebiasaan Prancis untuk membuat pemisah grup dan titik desimalnya direpresentasikan dengan cara ini.

Lokal yang berbeda memiliki konvensi yang berbeda untuk memformat angka, dan kode G dan D pengubah format dapat menentukan karakter mana yang akan digunakan untuk pemisah grup dan pemisah desimal.

money Jenis Data

PostgreSQL memiliki money tipe data yang menampilkan nilai-nilainya yang diformat dengan cara yang sadar lokal.

Contoh:

SET lc_monetary = 'en_US';
SELECT CAST(123456.78 AS money);

Hasil:

$123,456.78

Sekarang mari kita ubah lc_monetary variabel dan lihat bagaimana ini memengaruhi output:

SET lc_monetary = 'fr_FR';
SELECT CAST(123456.78 AS money);

Hasil:

123 456,78 Eu

Dalam hal ini, pemisah grup diwakili oleh spasi, dan pemisah desimal adalah koma.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Planet PostgreSQL di Galaksi yang Mungkin

  2. Pembagian bilangan bulat mengembalikan 0

  3. Server PostgreSQL tidak akan mati di Lion (Mac OS 10.7)

  4. org.postgresql.util.PSQLException:Indeks kolom di luar jangkauan:3, jumlah kolom:2

  5. Mengubah bidang Enum menggunakan Alembic