【问题标题】:Convert Decimal to Time SSRS/SQL将十进制转换为时间 SSRS/SQL
【发布时间】:2018-01-24 21:56:57
【问题描述】:

我在一个只存储时间的 SQL 数据库中有一个十进制字段。以下是遇到的数据以及我想在 SSRS 报告中显示的最终结果。解决方案可能是在 SQL 查询中,也可能是某种类型的 SSRS 格式/表达式。

Data      Desired Result
6.50      6:30:00 AM 
14.25     2:25:00 PM
17.75     5:45:00 PM
8.00      8:00:00 AM

非常感谢您对此提供的任何帮助。

【问题讨论】:

  • select convert(smalldatetime, datediff(day, '1899-12-30T00:00:00', getdate()) + (6.50/24)) 将带你到2017-08-18 06:30:00
  • 抱歉这个愚蠢的问题,但如果解决方案给出的结果是:2017-08-18 06:29:59.970,那么我可以将其四舍五入到 2017-08-18 06:30:00在SSRS?如果是这样,那就行了。
  • 我刚刚更新了评论。 Smalldatetime 可能会起作用。

标签: sql reporting-services time


【解决方案1】:

好吧,这可能不是很漂亮,但它会为您提供您正在寻找的结果:

select convert(time(0), convert(smalldatetime, (6.50/24)))

结果:

06:30:00

将 6.50 替换为您的列名。

【讨论】:

  • 你是我的超级英雄!谢谢你,它是完美的!
  • 没问题!很高兴我能帮上忙
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-09
  • 1970-01-01
  • 2015-03-12
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多