web-dev-qa-db-ja.com

SQL Server 2008の列の桁区切り記号

TotalAreaという列があり、その形式はnumeric (12,2)です。

私はそれが千の区切りで数字を表示したいので、

select TotalArea from table

1,234.00のような形式を表示します。

どうすればそれができますか?ありがとう!

20
user1820705

この方法を試してください:

SELECT REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, TotalArea), 1), '.00', '') 
FROM table

または

SELECT CAST(CONVERT(VARCHAR, CAST(123456 AS MONEY), 1) AS VARCHAR)
FROM table
33
Parado
SELECT FORMAT(12345,'#,0.00');

SELECT FORMAT(TotalArea,'#,0.00') from table;

参照: https://msdn.Microsoft.com/en-us/library/ee634206(v = sql.105).aspx

26
dasiimwe

表示用の数値の書式設定は、データベース内ではなく、表示レイヤーで行う必要があります。したがって、このデータが最終的に使用されるアプリケーションでは、そこでフォーマットする必要があります。残念ながら、Management Studioはこの点に関してあまり制御できません。

18
Matt Whitfield

次の簡単な方法を使用します。

FORMAT(CHART_OF_ITEM.UNIT_PRIC_W_TAX, '#,0.00') AS UNIT_PRICE_W_TAX
0
Samuel Darteh