【知识编号】DM-20260421-001
【适用DM版本】v8.1.4.116
【适用场景】Oracle至DM数据迁移(函数/包迁移)
【前置条件】已完成相关数据备份
具体报错现象
Oracle自建函数包通过DTS工具迁移无报错,但迁移后包体编译失败。
报错信息:
-3328:第12 行附近出现错误[-6105]:数据类型不匹配
[-3328]:包/对象[PKG_TEST]主体解析出错
补充说明:无
DATE 类型相减 直接返回数字(天数),可以直接使用 SUM() 聚合函数。DATE/DATETIME/TIMESTAMP 统一迁移为 DM TIMESTAMP。TIMESTAMP 相减返回 INTERVAL 类型,无法直接 SUM,导致原有SQL语法报错。select sum(last_day - first_day + 1) FROM timetable;
操作内容:修改PACKAGE创建语句,适配DM时间运算语法
sum(cast(last_day as date) - cast(first_day as date) + 1)
SUM(DATEDIFF(SECOND, first_day, last_day) / 86400.0 + 1)
PS:个人知识库记录,内容若有错漏之处,欢迎指正。
文章
阅读量
获赞
