2012-02-08 16 views
0

y.cap_tsの内容をチェックしていて、値が(nullでない)場合はcurrent_dateに置き換えるか、nullのままにしておきます。私はその後、/他のエラーでデータ型の不一致を取得します。テラデータ内でのデータ型の不一致

ここでcap_tsは日付データ型です。

いずれにしても、改善の余地がありますか?

SET 
cap_ts = CASE WHEN y.cap_ts IS NULL AND y.rwrd > 50 
       THEN current_date 
       ELSE NULL END 

現在、私はteradataで作業しています。

+0

静的な日付に設定しようとしましたか? DATE '1980-01-01'テーブル定義を共有できますか? –

答えて

0

CURRENT_DATECURRENT_TIMESTAMP(0)に置き換えてください。私はCAP_TSDATEのデータ型だと言ったのを知っていますが、あなたの命名規則はそうではないようです。 Oracleとは異なり、TeradataのDATEデータ型には時間コンポーネントが含まれていません。実際にTIMESTAMPと定義されている場合は、CURRENT_TIMESTAMP(n)を使用する必要があります.nは時刻の精度です。

+0

私はそれを試していて、日付をタイムスタンプに置き換えていました。 – user1172117