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 应该知道国家和货币符号货币数据类型允许您添加(SUM 聚合)内容而不会丢失小的变化,浮动数字数据类型将在相当简单的情况。

高温高压

伊恩

于 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 回答