集計結果で数字を見る際に桁数がよくわからないことが会ったので、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)
3. OracleDBの場合(実機未検証)
OracleDBの場合、実機未検証だが以下のようにTO_CHAR()
で指定することで桁区切りが行えるようだ。
select to_char(1234567, '999,999,999,999');
4.SQL Serverの場合(実機未検証)
SQL Serverの場合、実機未検証だが以下のように`format()gで指定することで桁区切りが行えるようだ(2012以降)。
select format(1234567, 'N0')