【问题标题】:How can I round a value in SQL如何在 SQL 中舍入一个值
【发布时间】:2017-09-13 20:17:53
【问题描述】:

如何在 SQL 中舍入一个值,使用舍入函数。实际结果是 555.81 得到 555 脚本是 round(expression,0)

这是我使用round(expression,2) 时使用round(expression,0) 得到555 作为答案的结果

【问题讨论】:

  • 请为您的问题添加一些上下文。其中应该包括您想要的输入输出和您的实际输入和输出。那么这里的人可以帮助你。 Please Refer How To Ask
  • 你试过ROUND( expression )吗?
  • 为了提高您的问题的质量,请参考您进行了哪些研究,并显示您进行了哪些尝试(以及任何错误消息的全文)。请将所有信息显示为问题中的文本而不是链接 - 这对读者来说更方便。此外,链接可能会中断。
  • 尽可能使用文本,而不是图像。像这儿。也请阅读minimal reproducible example并采取行动。
  • 感谢您的建议。我的 sql 查询很大,表达式也很大。下次我会给出很好的解释

标签: c# sql sql-server


【解决方案1】:

ROUND documentation on MSDN

select
  [raw]       = 555.81, 
  [rounded]   = round(555.81, 0),
  [truncated] = round(555.81, 0, 1)

结果:

|    raw | rounded | truncated |
|--------|---------|-----------|
| 555.81 |     556 |       555 |

SQL 小提琴:http://sqlfiddle.com/#!6/9eecb7db59d16c80417c72d1/5290

【讨论】:

  • 实际上我在查询中的表达式非常大,我在圆形函数中使用了该值但我没有得到输出,当我这样尝试时,我得到了正确的结果。在我的表达式中有很多条件跨度>
  • 虽然您的答案很好,但如果您将 MSDN 文档中的相关引用包含在其中会更好。链接可能会过时,未来的读者可能无法使用您发布的链接获取您链接到的 MSDN 页面。
  • @ZoharPeled 这不是我真正关心的答案类型 - 这基本上是我无法适应评论长度和格式的评论。如果您愿意,请随时编辑我的答案
  • 如果你不愿意这样做,我也不会。
【解决方案2】:

我相信它正在四舍五入。 圆形(表达式+0.5,0) 应该可以,但我还没有测试过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多