2012-01-20 1 views
1

В настоящее время я был назначен ответственным за экземпляр SSRS, и я столкнулся с небольшими проблемами с одним из моих операторов select. По сути, мне хотелось бы, чтобы время, в которое был получен билет, и вычитал время его завершения, чтобы определить общую продолжительность билета.SQL DATEDIFF в инструкции SELECT ')' Ошибка

Проблема, кажется, что я сталкиваюсь с DATEDIFF. Два поля, о которых идет речь (IS_RECEIVED_DATETIME + RESOLVED), являются как Float(14) полях в базе данных. Поэтому я пытаюсь преобразовать поля, чтобы их использовать. В настоящее время я получаю ошибку «) в строке, выделенной жирным шрифтом. сделали все, что я могу придумать, чтобы удалить a) и исправить ошибку, но все, кажется, закрыты и находятся в правильном месте. Любые предложения или советы будут НАСТОЯТЕЛЬНО оценены !!!!

И это мой первый пост здесь, поэтому, пожалуйста, дайте мне знать, если вам нужна дополнительная информация, или если я подаю это неправильно. Спасибо заранее!

Вот мой Оператор Select Instance -

,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' 

А теперь возьмите себе редактор, который может сделать PAREN hilightning.