【发布时间】:2020-05-11 02:19:02
【问题描述】:
我有来自源系统的数据,该系统以 hh:mm nvarchar 格式发送时间。我正在尝试将其转换为分钟。我只想根据需要在 SSRS 报告中执行此操作。所以,我正在寻找一个 SSRS 表达式而不是 T-SQL。
我的数据如下所示:
10:00
-2:00
-11:30
预期输出:
600
-120
-690
这是我迄今为止尝试过的,但正在寻找一种更好/性能更高效的方法
SUM(CInt(LEFT(Replace(Fields!HHMM.Value, "-", ""),InStrRev(Replace(Fields!HHMM.Value, "-", ""),":")-1))*60 +
CInt(RIGHT(Replace(Fields!HHMM.Value, "-", ""),InStrRev(Replace(Fields!HHMM.Value, "-", ""),":")))
)
谢谢!
【问题讨论】:
-
是否有太多可能的值无法使用查找表?它会非常快。
-
是的!可能有多个值。
-
太多可能的值可能在 >10,000,000 的范围内。 Report Builder Functions - Lookup Function.
-
哦!不,只有少数几个值。但是,由于这是一份临时报告,我不确定是否值得使用查找表,因为这更像是对数据进行修饰。
-
您写了“寻找更好/性能更高效的方法”。查找表会给你。
标签: sql-server vb.net reporting-services ssrs-2012