17.10 - EXTRACT構文 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLの日付/時刻関数と式

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1211-171K-JPN
Language
日本語 (日本)
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ではない場合 式は日時または間隔タイプに評価されなければなりません。