在SQL Server中只获得money数据类型中的两个小数点

时间:2010-08-18 07:38:25

标签: .net sql-server sql-server-2005 tsql rounding

SELECT ROUND(123.4567, 2)` gives me `123.4600`

但我需要123.46

字段的数据类型是金钱。

解决方案:

<%# DataBinder.Eval(Container.DataItem, "FieldName","{0:0.00}") %>

5 个答案:

答案 0 :(得分:18)

SELECT CAST(ROUND(123.4567, 2) AS MONEY)

之后会做你想做的事

答案 1 :(得分:9)

如果适用,请在视图层上格式化,而不是在数据层上格式化,即读取所有数据并在以后截断它(例如在C#客户端中)

答案 2 :(得分:1)

答案 3 :(得分:1)

@IsmailS - 对我来说,更大的图片是让数据服务器尽可能地格式化,特别是当它像内联强制转换一样简单时。它会在您的其他代码中产生更少的混乱。例如,投放 价格 ,这是一个货币字段:

{{1}}

YMMV - 这是我个人的经历。

答案 4 :(得分:0)

SELECT FORMAT(123.4567,'N2')

它会帮助你