运行报告时,日期以YYYYMMDD
格式显示,但我需要将其转换为格式MM/DD/YYYY
例如: 20150213
- 期待结果02/13/2015
以下表达式不起作用。建议?
=Format(Fields!InstallDate0.Value,"MM/dd/yyyy")
答案 0 :(得分:6)
看起来InstallDate0
是一个字符串,而不是日期。首先将其转换为日期,然后对其进行格式化:
=Format(CDate(Fields!InstallDate0.Value), "MM/dd/yyyy")
答案 1 :(得分:3)
该字段是作为DateTime
字段存储在数据库中还是其他内容?
我将假设它不是DateTime
而是整数或字符串。
假设您的列名为InstallDate0
,请更改您的查询以使用此表达式(我们将假设源表具有别名T1
):
InstallDate0 = CONVERT(datetime, CONVERT(varchar(8), T1.InstallDate0), 112)
这会将您的字符串(或int)作为DateTime返回。您现在可以使用SSRS的格式化功能:
=Format(Fields!InstallDate0.Value,"MM/dd/yyyy")
答案 2 :(得分:1)
你应该可以使用:
=Format(Fields!InstallDate0.Value,"d")
如果这不起作用,我的猜测是你将日期作为字符串带入报告。您可以在SQL查询中将YYYYMMDD
格式化的字符串转换为datetime:
cast(InstallDate0 as datetime)
答案 3 :(得分:1)
这对我有用 -
Format(CDate(DateAdd(DateInterval.DayOfYear, 1, Now())), "MM/dd/yyyy")
要求是以MM / dd / yyyy格式获取当前日期+ 1。您可以使用字段值替换DateAdd(DateInterval.DayOfYear, 1, Now())
。
答案 4 :(得分:1)
我发现,您可以直接在单元格的设置中定义用户定义的设置,如下所示:
var options = {onKeyPress: function(cep, e, field, options){
var masks = ['00000-000', '0-00-00-00'];
mask = (cep.length>7) ? masks[1] : masks[0];
$('.crazy_cep').mask(mask, options);
}};
$('.crazy_cep').mask('00000-000', options);
答案 5 :(得分:0)
可以帮助某人的快速解决方案,在我的情况下,@ ian_date是一个参数,因此查询转换不适用....
当日期采用此格式时 - > yyyymmdd,我'构造'一个有效的日期字符串,右()mid()和left(),用斜杠连接,然后将其转换为日期类型,因此可以格式化。
这是表达式>>
="Date: "&format(cdate((right(Parameters!ini_date.Value,2) &"/"&mid(Parameters!ini_date.Value,5,2)&"/"&left(Parameters!ini_date.Value,4))),"MMMM dd, yyyy")
只需更换“MMMM dd,yyyy”部分,最适合您的报告。
答案 6 :(得分:0)
这可能会有所帮助。
让我们说InstallDate0 = 151116(只需用您的字段名称替换InstallDate0!)
我想转换以下151116 =>二〇一五年十一月一十六日
字符串的yyMMdd
到
类型为日期的MM / dd / yyyy
表达式为:
=format(CDate(Mid(Fields!InstallDate0.Value,3,2)&"/"&Right(Fields!InstallDate0.Value,2)&"/"&Left(Fields!InstallDate0.Value+20000000,4)),"MM/dd/yyyy")
如果你想做同样的事情,除了20151116 =>二〇一五年十一月一十六日
yyyy 类型为字符串的MMdd
到
类型为日期的MM / dd / yyyy
表达式如下:
=format(CDate(Mid(Fields!InstallDate0.Value,5,2)&"/"&Right(Fields!InstallDate0.Value,2)&"/"&Left(Fields!InstallDate0.Value,4)),"MM/dd/yyyy")
标签:如何使用SQL Server报表生成器的表达式将字符串转换为日期
答案 7 :(得分:0)
=CDATE(MID(Fields!LAST_UPD.Value,5,2) + "/" + Right(Fields!LAST_UPD.Value,2) + "/" + Left (Fields!LAST_UPD.Value,4))
不是最漂亮的解决方案,但速度很快且效果很好。