sql四舍五入到5的倍数?

AxV*_*AxV 11 sql t-sql sql-server

您好我想知道有没有办法在SQL中舍入到5的倍数?

例如,如果我将@Order设置为8或9,则最多为10,但当它为7或6时,它会向下舍入为5,我需要它在6或7时向上舍入到10.

declare @Order int

set @Order = 7

select round(cast(@Order as float)/cast(5 as float),0)*5
Run Code Online (Sandbox Code Playgroud)

我需要

  • @Order = 1,2,3,4 最多可达5个
  • @Order = 6,7,8,9 最多可达10个
  • @Order = 11,12,13,14 最多可达15个

gar*_*eek 11

使用CEILING功能

SELECT CEILING(@Order / 5.0) * 5
Run Code Online (Sandbox Code Playgroud)

  • 你需要使除数"真实"才能使这个工作.这个`SELECT CEILING(@Order/5.)*5`有效 - 添加了点. (3认同)
  • 不行.例如`select CEILING(2/5)*5`产生`0`,同时需要产生`5` (2认同)