2012-01-20 68 views
1

我目前被安置在一个SSRS实例的负责中,并且遇到了一些select语句的麻烦。基本上,我想要做的是花时间收到一张票,并减去完成时间,以便确定票的总持续时间。SELECT语句中的SQL DATEDIFF')'错误

看来我遇到的问题是与DATEDIFF。有问题的两个字段(IS_RECEIVED_DATETIME + RESOLVED)都是数据库中的Float(14)字段。所以我试图将这些字段转换成日期。目前,我正在接受我以粗体显示的'''错误。已经做了我能想到的所有事情来删除a)并纠正错误,但似乎都是关闭的并且处于正确的位置。任何建议或提示将非常感谢!

这是我在这里的第一篇文章,所以请让我知道如果你需要一些更多的信息,或者如果我提交这个不正确。提前致谢!

这是我的选择语句实例 -

,DATEDIFF(Day,CONVERT(datetime,LEFT(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),4)+'/'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),5,2) +'/'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),7,2)+' '+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),9,2)+':'+ 
**SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),11,2)+':'+** 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),13,2)+':'+) 
,CONVERT(datetime,LEFT(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),4)+'/'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),5,2) +'/'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),7,2)+' '+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),9,2)+':'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),11,2)+':'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),13,2))) as 'DURATION' 
+4

这些字段中的值是什么? – Karlson

回答

1

你得到特定的错误是因为在该行您标志着一个后末尾的“+)”组合。

是否有更好的方法来完成您正在做的是另一个问题,如果我们看到您的字段的内容,我们可能会回答这个问题。

1

有一个+太多你的声明只是第二转换前:

,DATEDIFF(Day,CONVERT(datetime,LEFT(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),4)+'/'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),5,2) +'/'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),7,2)+' '+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),9,2)+':'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),11,2)+':'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RECEIVED_DATETIME as BIGINT) as VARCHAR(14)),13,2)+':') 
,CONVERT(datetime,LEFT(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),4)+'/'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),5,2) +'/'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),7,2)+' '+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),9,2)+':'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),11,2)+':'+ 
SUBSTRING(CAST(CAST(ISSUES.IS_RESOLVED_DATETIME as BIGINT) as VARCHAR(14)),13,2))) as 'DURATION' 

现在抓住自己的编辑器,可以做括号hilightning。