点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在尝试获取两列(通过考试日期和计划考试日期)之间的日期差。
我将这两列声明为String(10)。 我无法在SAP hana云平台中将类型声明为日期,因此我选择了字符串。
这是我的计算视图语法:
IF(isNull(" Passed_exam_date")或" Passed_exam_date" =''或isNull(" Planned_exam_date")或" Planned_exam_date" ='','',string(daysbetween(date(" Passed_exam_date"),date(" Planned_exam_date"))))。
表达失败。 但是我遇到了以下错误:
错误:(dberror)303-无效的DATE,TIME或TIMESTAMP值:搜索表错误:[6931]属性值不是日期或语法错误;字符串if(int或(int或(int或(int isull( 字符串" Planned_exam_date"),int notull(字符串" Passed_exam_date")),int eq(字符串" Planned_exam_date",字符串'')),int eq(字符串" Passed_exam_date",字符串'')),字符串''),字符串字符串 (int days_between(daydate [here] daydate(字符串" Passed_exam_date"),daydate daydate(字符串" Planned_exam_date")))))),(Passed_exam_date ='3/14/2020'[string],Planned_exam_date ='2/29/2020 '[串]); checkNull false
为此提供一些解决方案。
谢谢
Sudharsna
对于调试,我建议首先为date(" Passed_exam_date")和date(" Planned_exam_date")创建一个计算列,然后运行该仓库并检查转换中是否没有错误。 如果可行,请使用daysbetween(date(" Passed_exam_date"),date(" Planned_exam_date"))表达式创建另一个计算列,然后再次进行验证。 然后添加表达式的下一部分,并检查它在哪一点开始引发错误。
还检查是否为计算列使用了正确的数据类型。
当我像TO_DATE(" Passed_exam_date",'mm/dd/yyyy ')in SQL。
嗨
我认为您已经就此主题打开了另一个问题。 请参阅我的更新。
尊敬的Sudharsana
这可能是因为日期值在数据中可能为空。 因此,您可能需要在应用公式daysbetween()之前检查是否为null
例如
IF(isNull(fkdat)或isNull(BLDAT),0,daysbetween(date( fkdat),date(BLDAT))).....
也请避免将结果转换为字符串
可能会帮助您
此致,
Venkat
一周热门 更多>