2013-07-24 82 views
0

如何从时间字段中删除秒数? 我想:SSRS - 从时间字段中删除秒数

=Rset(Fields!hr_saida.Value,5) = return #Error 
=TimeValue(Fields!hr_saida.Value) = return #Error 
=FormatDateTime(CDate(Fields!hr_saida.Value),"hh:mm") = return #Error 

我也试图把我的文本框属性号码> 13:30,但仍显示“HH:MM:SS” 如何删除?谢谢。

回答

4

除了从@Yuriy所述一个另一种选择是:

=Format(Fields!hr_saida.Value, "HH:mm") 

为24小时时间

或:

=Format(Fields!hr_saida.Value, "hh:mm") 

用于AM/PM。

如果您的字段不是日期时间,您可能还需要使用CDate()。评论后

编辑

尝试:

=Left(Fields!hr_saida.Value.ToString(), 5) 

RSet还与ToString

这24小时的时间工作 - 你可以使用类似:

=CDate(Fields!hr_saida.Value.ToString()).ToString("hh:mm") 

的AM/PM。

在我的测试我是越来越喜欢类似的错误:

Unable to cast object of type 'System.TimeSpan' to type 'System.IConvertible'. 

从类型“时间跨度”的转换输入“日期”是无效的。

我想这里的结论是,SSRS 真的不喜欢在SQL Server时间数据类型。

+0

如果该字段实际上包含日期时间值,则使用文本框的格式属性(设置为“HH:mm”),以便导出将保留该值。 –

+0

@JamieF,一如既往的有用评论!只是显示可能是最好的解决方案的价值;实际上使用'Format'在使用该值附加到较大的字符串时最为有用。 –

+0

我的领域是时间(7),我尝试过CDate()之前,但仍然得到相同的错误 – migmig

1

使用4选项FormatDateTime函数。

=FormatDateTime(Fields!hr_saida.Value, 4) 

应该这样做。

+0

仍然返回“#Error” – migmig

+0

什么类型是“Fields!hr_saida.Value”?如果你简单的输出'= Fields!hr_saida.Value,''会发生什么? –

+0

我得到“hh:mm:ss”,类型为“time(7)” – migmig