我想仅使用 SSRS表达式将DDMMYYYY
格式化数据(数据类型为 varchar )转换为MM-dd-yyyy
格式。
我尝试了以下内容但显示 #Error
=IIF(NOT(IsNothing(Fields!DoB.Value)),CDate(Fields!DoB.Value).ToString("MM-dd-yyyy"),Nothing)
=IIF(NOT(IsNothing(Fields!DoB.Value)),Format(CDate(Fields!DoB.Value),"MM-dd-yyyy"),Nothing)
我尝试如下,然后显示MM-dd-yyyy
,
=Format(Fields!DoB.Value, "MM-dd-yyyy")
答案 0 :(得分:0)
您是否尝试过解析字段值,就像这样?
=Format(CDate(Mid(Fields!DoB.Value,3,2) & "-" & Left(Fields!DoB.Value,2) & "-" & Right(Fields!DoB.Value,4)), "MM-dd-yyyy")
答案 1 :(得分:0)
我不明白为什么在报告中将其作为字符串传递。无论如何它在这里。
我用这个表达式测试了它:
= Mid("25052016",3,2) + "-" + Left("25052016",2) + "-" + Right("25052016", 4)
这是我的输出:
05-25-2016
因此,在您的示例表达式中,您可以尝试这样:
=IIF(NOT(IsNothing(Fields!DoB.Value)),(Mid(Fields!DoB.Value,3,2) + "-" + Left(Fields!DoB.Value,2) + "-" + Right(Fields!DoB.Value, 4)),Nothing)
注意:我并非100%确定此评论上方的表达式会在您的最后发挥作用,因为我还没有测试过它,但至少我向您展示了我的概念在我的另一个例子中。