如何从“时间”字段中删除秒?我尝试过:
=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
我也尝试将文本框属性设置为Number> 13:30,但仍显示“ hh:mm:ss”如何移除?谢谢。
[@ Yuriy之外的另一个选项是:
=Format(Fields!hr_saida.Value, "HH:mm")
24小时制
或:
=Format(Fields!hr_saida.Value, "hh:mm")
对于AM / PM。
如果您的字段不是DateTime,则可能还需要使用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时间数据类型。
将4
选项用于FormatDateTime
功能。
=FormatDateTime(Fields!hr_saida.Value, 4)
应该做到这一点。
我无法无误地返回我想要的东西。我已经在强制转换datetime字段为时间,所以我只是抓住了剩下的5个字符(在SQL查询中)以减少秒数。不优雅,但是完成了工作。
因此表中的EndTime
是日期时间数据类型,其值类似于2020-03-30 09:34:00.000
。我需要的只是时间短而没有秒,所以:
left(cast(EndTime as time),5) [End]
此更改后的报告列输出如09:34:00
至09:34
,这是我所需要的。