SQLで数字をカンマ区切りにして読みやすく表示させる(PostgreSQL/MariaDB/Oracle)

集計結果で数字を見る際に桁数がよくわからないことが会ったので、SQLで集計出力時に3桁ごとにカンマ区切りで見やすく表示させる対応をしたので備忘で残しておく。
各DBごとにSQLの記述が異なるのでひとまずよく使用されるMariaDB、PostgreSQL、OracleDB、SQL Serverごとで調べてみることにした。

1.MySQL/MariaDBの場合

MySQL/MariaDBの場合、対象のカラムをformat()で指定することで桁区切りが行える。

select format(1234567,0);
MariaDB [test]> select format(1234567,0) num;
+-----------+
| num       |
+-----------+
| 1,234,567 |
+-----------+
1 row in set (0.00 sec)

2.PostgreSQLの場合

PostgreSQLの場合、対象のカラムをTO_CHAR()で以下のように指定することで桁区切りを行える。

select to_char(1234567, 'fm999,999,999,999');
postgres=# select to_char(1234567, 'fm999,999,999,999');
to_char
-----------
1,234,567
(1 row)
Sponsored Links

3.OracleDBの場合(実機未検証)

OracleDBの場合、実機未検証だが以下のようにTO_CHAR()で指定することで桁区切りが行えるようだ。

select to_char(1234567, '999,999,999,999');

4.SQL Serverの場合(実機未検証)

SQL Serverの場合、実機未検証だが以下のようにformat()で指定することで桁区切りが行えるようだ(2012以降)。

select format(1234567, 'N0')

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*