EXTRACT (
{ YEAR | MONTH | DAY | HOUR | MINUTE |
SECOND | TIMEZONE_HOUR | TIMEZONE_MINUTE
} FROM value
)
構文要素
- YEAR
- YEARの整数値は、valueで示された日付から抽出されます。
- MONTH
- MONTHの整数値は、valueで示された日付から抽出されます。
- DAY
- DAYの整数値は、valueで示された日付から抽出されます。
- HOUR
- HOURの整数値は、valueで示された日付から抽出されます。
- MINUTE
- MINUTEの整数値は、valueで示された日付から抽出されます。
- TIMEZONE_HOUR
- TIMEZONE_HOURの整数値は、valueで示された日付から抽出されます。
- TIMEZONE_MINUTE
- TIMEZONE_MINUTEの整数値は、valueで示された日付から抽出されます。
- SECOND
- SECONDの整数値は、valueで示された日付から抽出されます。返される値のデータ型は、DECIMAL(8,2)です。
- value
- 結果がDateTime、Interval、またはUDT値になる式。
value 説明 日付を表わす文字列式 'YYYY-MM-DD'形式に合致する文字列である必要があります。 時間を表わす文字列式 'HH:MI:SS.SSSSSS'形式に合致する文字列である必要があります。 浮動小数点タイプ valueはHOUR * 10000 + MINUTE * 100 + SECONDというアルゴリズムでエンコードされた時間値でなければなりません。 浮動小数点値から抽出できるのは、HOUR、MINUTE、およびSECONDだけです。
外部的に作成された時間値は、適切にエンコードされ、REAL列に格納されます。そしてその時間値は、エンコーディングによって精度を低下させずにREALで表現可能な値が作成されていれば、希望する精度で格納されます。
時間値をREALとして新しいアプリケーションに格納しないでください。その代わりに、より厳密に定義されたANSI SQL:2011日時データ型を使用してください。
UDT UDTと以下のいずれかの事前定義型の間でキャストを行なう暗黙CASTがUDTになければなりません。 - Numeric
- Character
- 日付/時刻
UDT用の暗黙CASTを定義するには、CREATE CAST文を使用し、AS ASSIGNMENT節を指定します。詳細は、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。
EXTRACTを含め、システム演算子および関数用のUDTの暗黙の型変換は、ANSI SQL規格のTeradata拡張機能です。この拡張を無効にするには、DBS制御レコードのDisableUDTImplCastForSysFuncOpフィールドをTRUEに設定します。Teradata Vantage™ - データベース ユーティリティ、B035-1102を参照してください。
UDTの暗黙タイプ変換の詳細は、Teradata Vantage™ - データ タイプおよびリテラル、B035-1143を参照してください。
文字列式または浮動小数点タイプまたはUDTではない場合 式は日時または間隔タイプに評価されなければなりません。