こんにちは、さるまりんです。
金額を表示するときに数値をカンマ入りの文字列に変換したい。
これをPostgreSQLでするにはto_char()
関数を使います。
SELECT to_char([数値], [書式]) as [ラベル];
23980
をカンマ入りの23,980
にしたいです。
SELECT to_char(23980, 'FM999,999') as price;
9
が並んでいるところは数字です。最初にFM
をつけて先頭のスペースを消します。
実際にやってみます。
salu=> SELECT to_char(1234567890, 'FM999,999') as price;
price
---------
23,980
(1 row)
もっと大きな数値で同じフォーマットでやってみるとこんな感じになります。
salu=> SELECT to_char(1234567890, 'FM999,999') as price;
price
---------
###,###
(1 row)
桁数がおかしいとなんか変なことになっています。
これではどうでしょう?
salu=> SELECT to_char(1234567890, 'FM999,999,999,999') as price;
price
---------------
1,234,567,890
(1 row)
ちゃんと表示されました。桁が足りれば大丈夫なようです。
小数点以下も扱えます。
フォーマットの.00
で小数点以下2桁表示を指定します。
salu=> SELECT to_char(75.23, 'FM999.00') as ratio;
ratio
-------
75.23
(1 row)
正しく表示してくれていますね。
価格、ポイント、率。
コンピュータは計算機ですから、いろんな数値を扱いますね。
それらをうまく伝えられるようにするにはどうするか?
プログラムが役に立つといいなと思っています。
読んでくださってありがとうございました。
それではまた!