我试图在一些预先确定的值16和40上获得快速ETA。例如,如果需要16个小时,我需要我的代码快速计算项目上的ETA,但只计算每天9-5(8)小时。显然,我需要包含那天的剩余时间,我在下面的代码中已经提到了。然而,我给自己一个痛苦的头脑试图找出最好的方法继续代码。也许某人有个好主意?
Dim TargetTime as Integer = 16
Dim currentHr As Integer = current.Hour
Dim TodaysRemainingHours As Integer = 0
If currentHr >= 9 AndAlso currentHr < 17 Then
'Count remaining hours
TodaysRemainingHours = (17- currentHr)
Else
'Dont count today
TodaysRemainingHours = 0
End If
我的计划是:
TargetTime
- TodaysRemainingHours
---给予值计数
至。 以某种方式计算基于9-5时间跨度的小时数。
将lblOutput
显示为:&#34; ETA:2016年5月25日下午2点&#34;
正如你所看到的,我知道如何获得我需要计算的vaule,但我需要一些帮助,首先只计算每天从9-5开始的小时数,然后返回估计的实际小时数。这不是任何有利可图的事情,而是个人ETA计划。
答案 0 :(得分:0)
谢谢topshot,你的评论让我解决了!以下代码似乎对我有用,我还没有发现任何问题。如果时间过了下午5点,我必须确保我没有计算当天的剩余时间。谢谢。
SELECT db.*
FROM (SELECT db.*,
ROW_NUMBER() OVER (PARTITION BY conversionid
ORDER BY (CASE WHEN channel <> 'Direct' THEN 1 ELSE 2 END),
visit DESC
) as seqnum
FROM db
) db
WHERE seqnum = 1;