sql四舍五入到5的倍数?

标签 sql sql-server tsql

你好,我想知道有没有办法在 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

我需要

  • @Order = 1,2,3,4 向上舍入为 5
  • @Order = 6,7,8,9 向上舍入为 10
  • @Order = 11,12,13,14 向上舍入为 15

最佳答案

使用 CEILING 函数

SELECT CEILING(@Order / 5.0) * 5

关于sql四舍五入到5的倍数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16592574/

相关文章:

sql - SQL Server 中的临时表

mysql - SQL Distinct - 获取所有值

SQL 规范化现有(多对多)数据

c# - 在 NHibernate 中保存时长 XML 抛出异常

c# - 关闭 MSSQL 服务器中的数据库连接

sql - 确定日期范围是否在另一个日期范围之间 - sql

sql - 如何将值作为不同的列插入?

php - SQL 查询速度慢的股票

python - 如何使用需要用户定义类型表参数的 SQLAlchemy 调用存储过程

sql - 在 SQL Server 中使用 CAST() 和子查询过滤记录