如何从时间字段中删除秒?我试过了:
=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”如何删除?谢谢你。
如何从时间字段中删除秒?我试过了:
=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")
上午/下午。
如果您的字段不是 DateTime 您可能也需要使用CDate()
。
评论后编辑
尝试:
=Left(Fields!hr_saida.Value.ToString(), 5)
RSet
也适用于ToString
.
这适用于 24 小时 - 你可以使用类似的东西:
=CDate(Fields!hr_saida.Value.ToString()).ToString("hh:mm")
上午/下午。
在我的测试中,我遇到了类似的错误,例如:
Unable to cast object of type 'System.TimeSpan' to type 'System.IConvertible'.
和
从类型“时间跨度”到类型“日期”的转换无效。
我想这里的结论是 SSRS真的不喜欢 SQL Server 时间数据类型。
使用功能4
选项FormatDateTime
。
=FormatDateTime(Fields!hr_saida.Value, 4)
应该做的伎俩。
我无法无误地返回我想要的东西。我已经将日期时间字段转换为时间,所以我只是抓住了左边的 5 个字符(在 SQL 查询中)来修剪秒数。不优雅,但完成了工作。
所以EndTime
在我的表中是一个日期时间数据类型,其值如2020-03-30 09:34:00.000
. 我所需要的只是没有几秒钟的时间,所以:
left(cast(EndTime as time),5) [End]
这个更改的报告列输出就像我所需要的09:34:00
一样。09:34