PostgreSQLでは、 TO_CHAR()
を使用できます 指定された形式で数値をフォーマットする関数。これには、関連する場所でのカンマによる数値のフォーマットが含まれます。
PostgreSQLにはmoney
もあります 現在のロケールを使用して値を出力するデータ型。これには、使用されているロケールに基づいて、適切な場所にコンマを含めることができます。
TO_CHAR()
機能
TO_CHAR()
の使用例を次に示します。 カンマで数値を出力する関数:
SELECT TO_CHAR(123456.78, 'fm999G999D99');
結果:
123,456.78
2番目の引数は、最初の引数のフォーマット方法を決定する一連の数値テンプレートパターンで構成されています。
ここでは、 G
を使用しました ロケール対応のグループ区切り文字(「千単位の区切り文字」とも呼ばれます)のテンプレートパターン。カンマ(、
)を使用することもできます )、しかしそれはロケールを認識していなかったでしょう。
D
も使用しました ロケール対応の小数点記号のテンプレートパターン。
この場合、 fm
も使用しました (「FillMode」の略)結果に自動的に適用された可能性のある
9
テンプレートパターンは各桁用です。 0
を使用できます 代わりに、先行ゼロを含めたい場合。
G
およびD
テンプレートパターンはロケールに対応しており、グループと小数点に適切な文字を生成できます。
これが私の意味を示す例です:
SET lc_numeric = 'fr_FR';
SELECT TO_CHAR(123456.78, 'fm999G999D99');
結果:
123.456,78
現在、グループ区切り文字はピリオド/ピリオドで表され、10進数の lc_numeric
を変更したためです。 fr_FR
を使用する変数 (フランスの場合)、このようにグループ区切り文字と小数点を表すのはフランスの習慣です。
ロケールが異なれば、数値の書式設定の規則も異なり、 G
およびD
フォーマット修飾子は、グループセパレータと10進数の
お金コード> データ型
PostgreSQLにはお金
があります ロケール対応の方法でフォーマットされた値を出力するデータ型。
例:
SET lc_monetary = 'en_US';
SELECT CAST(123456.78 AS money);
結果:
$123,456.78
それでは、 lc_monetary
を変更しましょう。 変数を入力して、これが出力にどのように影響するかを確認してください:
SET lc_monetary = 'fr_FR';
SELECT CAST(123456.78 AS money);
結果:
123 456,78 Eu
この場合、グループ区切り文字はスペースで表され、10進数の