2007.08.01

CONVERTを使いこなそう!! ~数値編~

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です。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
ntakayama