我正在尝试创建一个查询,以获取下面的事件打开小时数是我的查询。我正在使用案例陈述,因为它需要考虑到只计算工作日。这是我的总体目标是实际获得那些日子的时间的过程中的一个步骤。因此,例如,如果这些天的天数超过一个计数并乘以 8.. 如果它小于一个,则执行 datediff 小时并获取当天的小时数.. 任何帮助将不胜感激!
但我收到以下错误:
当不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。
DECLARE @workdays int
SELECT creationDateTime,
closedDateTime,DATEDIFF(dd, creationDateTime, closedDateTime)+1,
CASE WHEN (DATEDIFF(dd, creationDateTime, closedDateTime)+1 > 1)
THEN (
SELECT creationDateTime ,closedDateTime,
((DATEDIFF(dd, creationDateTime, closedDateTime)+1)
-(DATEDIFF(wk, creationDateTime, closedDateTime) * 2)
-(CASE WHEN DATENAME(dw, creationDateTime)
= 'Sunday' THEN 1 ELSE 0 END)
-(CASE WHEN DATENAME(dw, closedDateTime)
= 'Saturday' THEN 1 ELSE 0 END)
)*8 AS workdayhours
FROM table.ofevents where closedDateTime IS NOT NULL) END
FROM table.ofevents where closedDateTime IS NOT NULL