Это может делать то, что вы хотите:
В TSQL
:
select (case when CONVERT(integer,Replace('-11:30',':','')) < 0 then -1 else 1 end ) * ((DATEPART(HOUR,CONVERT(Datetime,Replace('-11:30','-',''))) * 60) + DATEPART(MINUTE,CONVERT(Datetime,Replace('-11:30','-',''))))
РЕДАКТИРОВАТЬ:
Вы можете перевести TSQL
Запрос, который я отправил на что-то подобное, чтобы использовать его в SSRS
(обратите внимание, что я не проверял код SSRS
):
Switch(Cint(Replace(Fields!timeField.Value,":","")) < 0,-1,Cint(Replace(Fields!timeField.Value,":","")) >= 0,1) * ((Hour(cdate(Replace(Fields!timeField.Value,":",""))) * 60 ) + Minute(cdate(Replace(Fields!timeField.Value,":",""))))