0

我正在尝试使用基于千位十进制数的 Round 或 Ceiling 方法。如何在 T-SQL 存储过程中编写条件?提前致谢!

例子:

如果我有这个数字:1,793.5123611111 我想使用 Round(Variable ,2,1) 使其变为 1,793。51 所以第 100 位小数不会四舍五入。

如果我有这个号码:11,80620619333

我想使用上限(变量 *100)/100 使其变为 11,806。21 所以小数点的千位四舍五入。

谢谢。

4

2 回答 2

0

ROUND()在没有第三个参数的情况下使用。第三个参数未指定时,默认为 0,表示舍入(任何其他值表示截断):

SELECT ROUND(Value, 2)
FROM (
  SELECT 1793.5123611111
  UNION ALL
  SELECT 11806.20619333
) AS s (Value)
;

以上将产生这些结果:

--------
1793.51
11806.21
于 2013-10-10T20:35:21.600 回答
0

当前的数据类型是什么?VARCHAR?

你可以试试这个

DECLARE @a VARCHAR(100) = '11,806.20619333'

PRINT CONVERT(VARCHAR(100),CAST(@a AS MONEY),1)
于 2013-10-10T19:52:47.763 回答