如何在sqlserver中使用ROUNDDOWN

San*_*osh 6 sql-server rounding

我想使用ROUNDDOWN函数.

当我尝试使用以下查询时,它给出了一个错误,说"'rounddown'不是公认的内置函数名."

select rounddown(25.227,2)
Run Code Online (Sandbox Code Playgroud)

我的要求是将值舍入到两位小数

例如:对于值25.22789,结果应为25.22

并且也围捕

例如:对于价值25.22789,结果应为25.23

有帮助吗?

提前致谢

Kaf*_*Kaf 9

使用ROUND()函数的第三个参数进行截断,然后使用CONVERT()DECIMAL(x, 2)去除不需要的尾随零.

小提琴演示

SELECT CONVERT(DECIMAL(10,2), ROUND(25.227, 2, 1)) RoundDown,
        CONVERT(DECIMAL(10,2), ROUND(25.227, 2, 0)) RoundUp
Run Code Online (Sandbox Code Playgroud)

结果

| RoundDown | RoundUp |
|-----------|---------|
|     25.22 |   25.23 |
Run Code Online (Sandbox Code Playgroud)


Rah*_*hul 5

我认为您正在寻找CEILING()floor()功能像

select CEILING(25.227) //results in 26
Run Code Online (Sandbox Code Playgroud)

(要么)

select FLOOR(25.227) //Results in 25
Run Code Online (Sandbox Code Playgroud)

编辑:

例如:对于值25.22789,结果应为25.22

您可以尝试如下

select round(25.22789, 2, 2)
Run Code Online (Sandbox Code Playgroud)

这将导致 25.22000

  • 天花板(25.227 * 100)/ 100.0和地板(25.227 * 100)/ 100 (4认同)