SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です。
3ケタずつのカンマ区切りの表示にする
SQLServerではカンマ区切りにする専用の関数はありませんが、Convert関数を利用することで可能になります。
ただし、この処理を行うには取得した値はMoney型である必要があります。
Money型でないものは一旦Money型に変換してからConvert関数に渡します。
またMoney型を文字列にすると「.00」が付くのでそれを最後にReplace関数で消し去ります。
以下が実際のSQLです。
CREATE TABLE #test_tbl ( num INT ,price MONEY ) INSERT INTO #test_tbl VALUES (1000000,20000000),(5000,-20000) SELECT REPLACE(CONVERT(VARCHAR,CONVERT(MONEY,num ),1),'.00' , '') AS INT型のカンマ付き ,REPLACE(CONVERT(VARCHAR,price ,1),'.00' , '') AS MONEY型のカンマ付き FROM #test_tbl DROP TABLE #test_tbl
結果
上記のSQLの実行結果です。
INT型のカンマ付き | MONEY型のカンマ付き |
---|---|
1,000,000 | 20,000,000 |
5,000 | -20,000 |