SQL Serverのみを用いて数値をカンマ区切りで表示させたい
という事があります。
しかし、思ったような関数がなかなか見つからない。
ひょっとするとあなたは今、カンマ区切りで困っていて
たまたまこのページに辿り着いた方でしょうか?
実はCONVERT関数を利用すれば可能なのです
ヘルプをよく読んで見ますと下の方に書かれています。
ただし、これを使うには少しばかりテクニックが必要です。
CONVERT関数にてカンマ区切りをするには以下の条件が必要です。
1.MONEY型である事
2.出力結果には小数点第二位まで表示されてしまう。
そこでひとつひとつクリアしていきましょう。
1.まずMONEY型に変換
CONVERT(MONEY,[項目名])
これで変換させたい値はMONEY型になりました
2.続いてVARCHAR型に変換してフォーマットを選択
CONVERT(varchar, CONVERT(MONEY,[項目名]), 1)
余談ですが
MONEY型もしくはSMALLMONEY型を変換する際に使用できる styleは以下のようになります。
0:コンマ区切りをしない。また、小数点は2桁をとります。 例:2003.14
1:コンマ区切りをする。小数点右側には 2 桁をとります。例:2,003.14
2:コンマ区切りをしない。また、小数点は4桁をとります。 例:2003.1415
3.さらにREPLACEを使う
ここがみそとなります。小数点以下が必要で無い場合はREPLACE関数を使って
小数点以下を取ってあげましょう。
REPLACE(CONVERT(varchar, CONVERT(MONEY,[項目名]), 1), '.00', '')
これでOKです。