我正在尝试使用基于千分之一十进制数的Round或Ceiling方法。 如何在T-SQL存储过程中编写条件? 提前谢谢!
示例:
如果我有这个号码: 1,793.5123611111 我想使用Round(变量,2,1)使其变为1,793。 51 所以千分之一小数不会四舍五入。
如果我有这个号码: 11,80620619333
我想使用天花板(可变* 100)/ 100使它变成11,806。 21 所以千分之一小数就会结束。
感谢。
答案 0 :(得分:0)
目前的数据类型是什么? VARCHAR?
你可以试试这个
DECLARE @a VARCHAR(100) = '11,806.20619333'
PRINT CONVERT(VARCHAR(100),CAST(@a AS MONEY),1)
答案 1 :(得分:0)
在没有第三个参数的情况下使用ROUND()
。如果未指定第三个参数,则默认为0,这意味着舍入(任何其他值表示截断):
SELECT ROUND(Value, 2)
FROM (
SELECT 1793.5123611111
UNION ALL
SELECT 11806.20619333
) AS s (Value)
;
以上将产生这些结果:
--------
1793.51
11806.21