0

フィールドは MONEY に設定されています。

[field_name] を $#,### として選択したいです。

私は試した

SELECT CAST([field_name] AS DECIMAL (1, 3))
FROM ...

しかし運がない。

4

3 に答える 3

2

お金のデータ型がありますが、「お金」の前に通貨記号は付きません。SELECT'$' + Cast(CAST([field_name] AS DECIMAL(1、3))AS VARCHAR(4))が必要ですが、実際にはこのアプローチを避ける必要があります。フォーマットは実際にはUIでのみ実行する必要があります。その後、UIは国を認識し、その結果、通貨記号を認識します。moneyデータ型を使用すると、小さな変更を失うことなく(SUM集計)のものを追加できます。これは、浮動数値データ型で実行されます。かなり単純な状況。

HTH

イアン

于 2012-09-05T16:14:54.793 に答える
2
declare @v money
set @v = 1234.567 
select '$' + parsename(convert(varchar(20), @v, 1), 2) 

SQL フィドルの例

于 2012-09-05T16:18:45.440 に答える
0

次のようなことができます。

http://www.techrepublic.com/article/displaying-money-values-in-currency-format-in-sql/5803705

読者は、通貨記号を金額の先頭に追加する方法 (たとえば、$1,320.00) も知りたがっていました。

SELECT 
    Quantity, 
    '$' + CONVERT(varchar(12), Unitprice, 1) AS Unitprice, 
    '$' + CONVERT(varchar(12), Quantity * UnitPrice, 1) AS Amount 
 FROM [Order Details]
于 2012-09-05T16:13:30.453 に答える