【问题标题】:Round off Value in sql querysql查询中的四舍五入值
【发布时间】:2016-04-26 16:17:41
【问题描述】:

我需要通过一些限制来完善我的价值。比如……

1. Value - 5.89
   Required solution  - 6.29

时间差值,每小数后四舍五入为0.60。每当我的十进制值达到 60 时,它应该四舍五入到下一个值,剩余的 60 以上的十进制值需要保持原样。

请提出建议。

【问题讨论】:

  • 所以你的意思是 5.89 表示 5 分 89 秒,等于 6 分 29 秒?
  • 使用区间数据类型,问题就没有了。
  • 您使用的是哪个 DBMS?
  • 正确。 5.89,等于 6.29。我正在使用 Sql Server。
  • 在这里使用十进制数据类型只会引起混乱和错误蔓延的机会。我强烈建议只使用一个保持简单计数的整数(无论您使用的最小单位是多少) '在这里工作 - 是几秒钟还是几分钟?)。仅在展示之前将其转换为多个单位。

标签: sql sql-server


【解决方案1】:

它在 MS ACCESS 中为我​​工作

   select Format(YourField \ 60, '0') & '.' & Format(YourField Mod 60, '00') as [YourField] from YourTable

对于 SQL SERVER 试试这个,

select Right('0' + cast(YourField / 60) %60 as varchar),2)+ ':'+
right('0' + cast(YourField %60 as varchar),2 ) from YourTable

【讨论】:

  • 问题被标记为sql,答案应包含标准SQL
猜你喜欢
  • 1970-01-01
  • 2019-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多