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

Cara Mengubah Lokal Saat Memformat Angka di PostgreSQL

Jika Anda memformat angka di PostgreSQL, dan Anda ingin mengubah lokal sehingga grup dan pemisah desimal yang benar digunakan, berikut cara melakukannya.

Ada dua variabel sistem yang menarik:

lc_monetary Menyetel lokal yang akan digunakan untuk memformat jumlah uang.
lc_numeric Menyetel lokal yang akan digunakan untuk memformat angka.

Ini dapat diatur dengan SET pernyataan.

Misalnya:

SET lc_numeric = 'en_US';

Hasil:

SET

Setelah mengatur itu, berfungsi seperti TO_CHAR() akan memformat angka sesuai dengan en_US formatnya.

Contoh

Berikut adalah beberapa contoh yang menunjukkan bagaimana variabel ini dapat memengaruhi output:

lc_monetary Variabel

Berikut adalah contoh pengaturan lc_monetary variabel:

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

Hasil:

$123,456.79

Dan ini dia menggunakan lokal yang berbeda:

SET lc_monetary = 'de_DE';
SELECT CAST(123456.789 AS money);

Hasil:

Eu123.456,79

lc_numeric Variabel

Berikut adalah contoh pengaturan lc_numeric variabel, lalu memformat angka dengan TO_CHAR() fungsi:

SET lc_numeric = 'en_US';
SELECT TO_CHAR(123456.789, 'fm999G999D99');

Hasil:

123,456.79

Dan ini dia menggunakan lokal yang berbeda:

SET lc_numeric = 'de_DE';
SELECT TO_CHAR(123456.789, 'fm999G999D99');

Hasil:

123.456,79

Periksa Pengaturan Saat Ini

Anda dapat memeriksa pengaturan Anda saat ini dengan SHOW perintah.

Contoh:

SHOW lc_monetary;

Hasil:

en_US

Dan:

SHOW lc_numeric;

Hasil:

de_DE

Setel Ulang Kembali ke Nilai Default

Anda dapat menggunakan yang berikut ini untuk mengatur setiap variabel kembali ke pengaturan default:

SET lc_monetary TO DEFAULT;
SHOW lc_monetary;

Hasil:

en_US.UTF-8

Dan untuk lc_numeric :

SET lc_numeric TO DEFAULT;
SHOW lc_numeric;

Hasil:

en_US.UTF-8

Lokal yang tersedia di sistem Anda dan namanya bergantung pada apa yang disediakan oleh vendor sistem operasi dan apa yang diinstal. Lihat dokumentasi PostgreSQL tentang dukungan lokal untuk informasi lebih lanjut.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemicu dengan nama bidang dinamis

  2. Temukan Induk secara Rekursif menggunakan Query

  3. Bisakah PostgreSQL mengindeks kolom array?

  4. Pilih baris acak dari tabel PostgreSQL dengan probabilitas baris tertimbang

  5. Memanfaatkan pg_prewarm dan pg_hibernator caching contrib di PostgreSQL 9.4.