USING句内のANSIのDateTimeとIntervalの比較 - Teradata Database - Teradata Vantage NewSQL Engine - USING句内のANSIのDateTimeとIntervalの比較。

Teradata Vantage™ SQL関数、演算子、式および述部

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xzf1512079057909.ditamap
dita:ditavalPath
ja-JP/xzf1512079057909.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

ANSIの日時および間隔データの外部値は、セッション用に指定されているクライアント文字セットの固定長の文字列で表わされます。

USING句を使ってANSIの日時および間隔の値をインポートする場合、外部文字書式から、比較に適したANSI日時および間隔タイプに明示的にCASTする必要があります。

例えば、次のような文を考慮してみます。TimeField列のデータ型はTIME(2)です。

   USING (TimeVal CHARACTER(11), NumVal INTEGER)
   UPDATE TABLE_1
   SET TimeField=:TimeVal, NumField=:NumVal
   WHERE CAST(:TimeVal AS TIME(2)) > TimeField;

割り当てのためにこのUSING句でTimeVal CHAR(11)を直接使用してもかまいませんが、TimeFieldはTIME(2)と定義されているANSI TIMEであるために、テーブル内のフィールド値TimeFieldを比較するには、列データ定義を明示的にTIME(2)にCASTする必要があります。