报告服务从日期时间在表达时间删除
-
22-09-2019 - |
题
我想要填充的显式时间的表达式(一个参数的默认值)。如何从“现在”功能删除的时间?
解决方案 12
实测值从 <强的溶液>此处强>
此得到前一天的最后一秒:
DateAdd("s",-1,DateAdd("d",1,Today())
此返回前一周的最后第二:
=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))
其他提示
像这样:
=FormatDateTime(Now, DateFormat.ShortDate)
在哪里“现在”可以通过日期/时间字段,你想转换的名称所取代。)点击 例如,
=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)
由于SSRS利用VB,可以执行以下操作:
=Today() 'returns date only
如果你使用:
=Now() 'returns date and current timestamp
=CDate(Now).ToString("dd/MM/yyyy")
尽管你硬编码的日期formart到一个区域。
仅在使用DateValue(Now)
如果你想要得到的结果是DateTime
的数据类型。
如果预期的数据格式是的 MM-dd-yyyy
,然后尝试以下,
=CDate(Now).ToString("MM-dd-yyyy")
同样,你可以试试这个,的
=Format(Today(),"MM-dd-yyyy")
输出:的 02-04-2016
强>
<强> 注意:的强>结果
的 Now()
强>将告诉你的当前日期和<强>时间戳强>
Today()
的 将显示您的日期不仅没有时间的一部分。的
您也可以设定任何日期格式,而不是 MM-dd-yyyy
在我的例子。的
在可以使用格式字符串任何文本框字段的格式属性:
e.g。 d / M / Y,d,等
有一件事情可以帮助别人是,你可以这样设置:=CDate(Now).ToString("dd/MM/yyyy")
在格式SSRS的String属性可以通过右键单击列获得。这就是做最彻底的方法。然后,你的表达不会过大,难以在视觉上“解析”:)
FormatDateTime(Parameter.StartDate.Value)
我来晚了比赛,但我尝试了所有上述解决方案!无法得到它砸在参数零分的,给我一个默认的(它忽略了格式化或出现空白)。我用的是2005年SSRS所以用它笨拙/越野车的问题挣扎。
我的解决方法是一列添加到自定义[DimDate表在我的数据库,我是从拉日期。我补充说是在[日期]列的所期望的格式的字符串表示的列。然后,我创建了2点新的数据集在SSRS,在下面的查询拉2个默认为我的“要”和“从”日期默认 -
'从'
SELECT Datestring
FROM dbo.dimDate
WHERE [date] = ( SELECT MAX(date)
FROM dbo.dimdate
WHERE date < DATEADD(month, -3, GETDATE()
)
'到'
SELECT Datestring
FROM dbo.dimDate
WHERE [date] = ( SELECT MAX(date)
FROM dbo.dimdate
WHERE date <= GETDATE()
)
我给一个日期/时间参数溶液:
=CDate(Today())
诀窍是转换回为DateTime作为推荐停泊。
只需将字符串到值的末尾:
Fields!<your field>.Value & " " 'test'
这应该工作!
这应当在数据集中进行。你可以这样做
Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName
在SSRS
布局,只是这样做=Fields!DateColumnName.Value