如何在SQL中将数字显示为$#,###?

时间:2012-09-05 16:07:54

标签: sql tsql number-formatting

该字段设置为MONEY。

我想选择[field_name]为$#,###。

我试过

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

但没有运气。

3 个答案:

答案 0 :(得分:2)

有货币数据类型,但它不会在货币符号前加上“钱”。你需要     SELECT'$'+ Cast(CAST([field_name] AS DECIMAL(1,3))AS VARCHAR(4)) 但你真的应该避免这种方法。格式化应该完全在UI中完成,然后UI应该知道国家,并因此知道货币符号 货币数据类型允许您添加(SUM聚合)东西而不会丢失小的更改,浮动数值数据类型将在相当简单的情况下执行。

HTH

伊恩

答案 1 :(得分:2)

declare @v money
set @v = 1234.567 
select '$' + parsename(convert(varchar(20), @v, 1), 2) 

SQL Fiddle Example

答案 2 :(得分: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]