データベースで扱う数値は、そのままでは「1000000」といった見づらい形で表示されることが多いですよね。
特に売上や金額のように桁数が大きくなると、数字の判読ミスに繋がったり、レポートの読みやすさが損なわれる原因になります。
そんな時に便利なのが「数値をカンマ区切り(桁区切り)で表示する方法」です。1,000,000
のように区切ることで、数字を一目で把握しやすくなり、ビジネスレポートや帳票、分析作業でも活躍します。
この記事では、SQL Serverで数値をカンマ区切りする方法を、基本的な関数の使い方から実務での応用までわかりやすく解説していきます。
「ちょっとした整形だけど意外と知らなかった!」という方にも役立つ内容になっていますので、ぜひ最後までご覧ください。
基本的な方法

1. FORMAT関数を使う方法
SQL Serverで数値をカンマ区切り表示する一番シンプルな方法は、FORMAT
関数を使うことです。
SELECT FORMAT(1234567, 'N0') AS formatted_value;
このSQLを実行すると、次のように結果が返ってきます。
1,234,567
2. CAST / CONVERT ではカンマ区切りできない
CAST
やCONVERT
を使うと数値を文字列に変換できますが、カンマ区切りは自動的には行われません。
SELECT CONVERT(varchar, 1234567) AS converted_value;
結果
1234567
このように桁区切りされずそのままの数字が返ってきます。
そのため、数値をカンマ区切りにする場合はFORMAT
を使うのが基本です。
応用的な使い方
1. 小数点を含む場合
金額や割合などで小数点を扱うケースも多いですよね。
FORMAT
関数なら、小数点以下の桁数を簡単に指定できます。
SELECT FORMAT(1234567.891, 'N2') AS formatted_value;
結果
1,234,567.89
N2
は「小数点以下2桁」という意味です。必要に応じて N1
や N3
と変えれば、自由に調整できます。
ロケールを指定する
FORMAT
関数は、第3引数に カルチャ(ロケール) を指定することで、表示方法を国や地域に合わせることもできます。
例:米国形式(en-US
)
SELECT FORMAT(1234567.89, 'N2', 'en-US') AS formatted_value;
結果
1,234,567.89
例:ドイツ形式(de-DE
)
SELECT FORMAT(1234567.89, 'N2', 'de-DE') AS formatted_value;
結果
1.234.567,89
パフォーマンスの注意点
便利なFORMAT
関数ですが、注意点もあります。
FORMAT
は .NET Framework の機能を内部で呼び出すため、他の文字列操作より 処理が重い- 数十万件、数百万件といった大量データを扱う場合は アプリケーション側でフォーマットする方が高速
そのため、
- 少量のデータ → SQL側で
FORMAT
を使っても問題なし - 大量データ → SQLではそのまま数値を返し、アプリやBIツールで整形
と使い分けるのがおすすめです。
まとめ

SQL Serverで数値をカンマ区切り表示する方法について解説しました。
- 数値を桁区切りすると、数字が一目で読みやすくなる
- 基本は
FORMAT
関数 を使う(N0
で整数、N2
で小数点以下2桁など) - ロケールを指定すれば国ごとのフォーマットも可能
- 大量データではパフォーマンスに注意し、必要に応じてアプリ側で整形するのがおすすめ
ほんの少しの工夫ですが、帳票やレポート、ダッシュボードの「見やすさ」が大きく変わります。
SQL Serverを使う場面では、ぜひ活用してみてください。
コメント