Oracle から Teradata への移行プロジェクトに取り組んでいます。
テーブルは、datastage ジョブを使用して移行されています。
Oracle ビューを Teradata に移行するにはどうすればよいですか?
両方のデータベースの SQL ステートメントが異なるため、スクリプトの直接コピーが機能しない
助けてください?
DECODE()
Oracle 関数は、Teradata Developer Exchangeダウンロードセクションの Oracle UDF ライブラリの一部として入手できます。COALESCE()
それ以外の場合は、ANSI関数が動作するのと同じ方法で、例で DECODE 関数を使用しています。
COALESCE(t.satisfaction, 'Not Evaluated')
COALESCE()
関数のデータ型は暗黙的に互換性がある必要があり、そうでない場合はエラーが発生することに注意してください。したがって、 t.satisfaction は、が評価されるためには、少なくともCHAR(13)
またはである必要があります。そうでない場合は、オペランドを明示的にキャストできます。VARCHAR(13)
COALESCE()
COALESCE(CAST(t.satisfaction AS VARCHAR(13)), 'Not Evaluated')
の使用に例よりも多くの評価が含まれている場合は、UDF を実装するか、より標準的な評価済みステートメントDECODE()
に置き換えることをお勧めします。CASE
そうは言っても、Teradata 14 (または 14.1) では、Teradata にはない Oracle 機能の多くが標準機能として利用できるようになり、Oracle から Teradata への移行パスが容易になります。