在 SSRS 中将 DDMMYYYY varchar 值转换为 MM-dd-yyyy
Convert DDMMYYYY varchar value to MM-dd-yyyy in SSRS
我想使用SSRS表达式[=24]将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")
您试过像这样解析字段值吗?
=Format(CDate(Mid(Fields!DoB.Value,3,2) & "-" & Left(Fields!DoB.Value,2) & "-" & Right(Fields!DoB.Value,4)), "MM-dd-yyyy")
我不明白你为什么在报告中将它作为字符串传递。不管怎样,它就在这里。
我用这个表达式测试了它:
= 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% 确定这条评论上面的表达式对你有用,因为我没有测试过但至少我向你展示了我的我的另一个例子的概念。
我想使用SSRS表达式[=24]将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")
您试过像这样解析字段值吗?
=Format(CDate(Mid(Fields!DoB.Value,3,2) & "-" & Left(Fields!DoB.Value,2) & "-" & Right(Fields!DoB.Value,4)), "MM-dd-yyyy")
我不明白你为什么在报告中将它作为字符串传递。不管怎样,它就在这里。
我用这个表达式测试了它:
= 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% 确定这条评论上面的表达式对你有用,因为我没有测试过但至少我向你展示了我的我的另一个例子的概念。