USING句内のANSIのDateTimeとIntervalの比較 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/tpt1555966086716.ditamap
dita:ditavalPath
ja-JP/tpt1555966086716.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する必要があります。