String 将Crystal报表中的M/DD/YYY字符串转换为日期
我需要将数据库中保存为字符串的提交日期字段转换为日期字段,以便按提交日期筛选报告。数据以MM/DD/YYYY格式保存,在一位数月份(即2015年1月1日)中不带前导零,有些记录中没有日期(要么为空,要么有空格)。我添加了前导零,并使用以下公式修复了空记录:String 将Crystal报表中的M/DD/YYY字符串转换为日期,string,date,crystal-reports,String,Date,Crystal Reports,我需要将数据库中保存为字符串的提交日期字段转换为日期字段,以便按提交日期筛选报告。数据以MM/DD/YYYY格式保存,在一位数月份(即2015年1月1日)中不带前导零,有些记录中没有日期(要么为空,要么有空格)。我添加了前导零,并使用以下公式修复了空记录: local numbervar totalLength := 10; local numbervar dateLength := length({S85FLD.TEN_CUSTOM02}); WhileReading
local numbervar totalLength := 10;
local numbervar dateLength := length({S85FLD.TEN_CUSTOM02});
WhileReadingRecords;
if totalLength=0 or isnull({S85FLD.TEN_CUSTOM02}) or {S85FLD.TEN_CUSTOM02}=" "
then "01/01/2000" Else
if dateLength < totalLength
then "0"+{S85FLD.TEN_CUSTOM02}
else {S85FLD.TEN_CUSTOM02}
现在,我正在尝试将字符串转换为日期:
EvaluateAfter ({@SubDate:Remove"/"});
cdate (ToNumber (Right ({@SubDate:Remove"/"}, 4)),
ToNumber (Left ({@SubDate:Remove"/"}, 2)),
ToNumber (Mid ({@SubDate:Remove"/"}, 3, 2)))
我检查了所有的语法,CR说没问题。但当我预览数据或将字段添加到过滤器时,我会得到“天数必须介于1和当月天数之间。”错误。当我查看原始字段时,所有中值都在它所在月份的日范围内。有什么建议吗
软件版本:SAP CR Developer 14输出的({@SubDate:Add“0”})与的外观如何({@SubDate:Remove”/“})代码>看起来您可以显示示例add“0”的输出为2015年2月1日(两位数月数不变)remove“/”的输出为01022015。
EvaluateAfter ({@SubDate:Remove"/"});
cdate (ToNumber (Right ({@SubDate:Remove"/"}, 4)),
ToNumber (Left ({@SubDate:Remove"/"}, 2)),
ToNumber (Mid ({@SubDate:Remove"/"}, 3, 2)))