1

我正在从事 Oracle 到 Teradata 的迁移项目。

这些表已使用数据阶段作业迁移。

如何将 Oracle 视图迁移到 Teradata?

由于两个数据库的 SQL 语句不同,直接脚本复制不起作用

请帮忙?

4

1 回答 1

2

DECODE()Oracle 函数作为 Oracle UDF 库的一部分在 Teradata Developer Exchange下载部分提供。否则,您在示例中使用 DECODE 函数的方式与 ANSICOALESCE()函数的行为方式相同:

COALESCE(t.satisfaction, 'Not Evaluated')

需要注意的是,COALESCE()函数的数据类型必须是隐式兼容的,否则会报错。因此,t.satisfaction 至少需要CHAR(13)VARCHAR(13)为了COALESCE()评估。如果不是,您可以显式转换操作数。

COALESCE(CAST(t.satisfaction AS VARCHAR(13)), 'Not Evaluated')

如果您的使用DECODE()包含比示例中更多的评估,我建议实施 UDF 或用更标准的评估CASE语句替换它。话虽如此,在 Teradata 14(或 14.1)中,您会发现 Teradata 中缺少的许多 Oracle 功能将作为标准功能提供,以帮助简化从 Oracle 到 Teradata 的迁移路径。

于 2012-05-16T13:33:09.350 回答