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