2012-09-05 37 views
0

該字段設置爲MONEY。

我想選擇[field_name]作爲$#,###。

我試圖

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

,但沒有運氣。

+1

可能重複:[1](http://stackoverflow.com/questions/1720454/tsql-casting-to-money-rounds- ...)[附加資源](http://www.techrepublic.com/article/displaying-money-values-in-currency-format-in-sql/5803705) – Kermit

回答

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] 
+0

這是給我的數字,如$ 25,000.00。它需要:$ 25,000。我如何擺脫最後的2個0? – Testifier

+1

你可以使用「替換」:'select replace(convert(varchar,cast(Quantity * UnitPrice,1),'.00',''))' – paulsm4

2

有貨幣數據類型,但它不會用貨幣符號前綴「錢」。你需要 SELECT'$'+ Cast(CAST([field_name] AS DECIMAL(1,3))AS VARCHAR(4)) 但是你真的應該避免這種方法。格式化應該只在UI中完成,然後用戶界面應該知道國家和相應的貨幣符號 貨幣數據類型允許您添加(SUM彙總)貨物而不會丟失小的更改,浮動數值數據類型將執行在相當簡單的情況下。

HTH

伊恩

相關問題