例 - 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/xmd1556127764262.ditamap
dita:ditavalPath
ja-JP/xmd1556127764262.ditaval
dita:id
B035-1211
Product Category
Software
Teradata Vantage

例: 現在の日付から年を返す

次の例は、現在の日付から年を整数として戻します。

SELECT EXTRACT (YEAR FROM CURRENT_DATE);

例: 購入日に90日を追加する

PurchaseDateがDATEフィールドであると想定すると、この例は、整数のPurchaseDateに90日を加算することによって形成されるdate valueの月を戻します。

SELECT EXTRACT (MONTH FROM PurchaseDate+90) FROM SalesTable;

例: 整数を返す

次の例は、整数の12を戻します。

SELECT EXTRACT (DAY FROM '1996-12-12');

例: 文字リテラルの結果が有効な日付にならない場合

この例では、文字定数が有効な日付に評価されないため、エラーが戻されます。

SELECT EXTRACT (DAY FROM '1996-02-30');

例: 文字列リテラルがANSI SQL:2011の日付形式に一致しない場合

以下の例では、文字列定数がANSI SQL:2011の日付形式に合致しないため、エラーが戻されます。

SELECT EXTRACT (DAY FROM '96-02-15');

EXTRACTへの引数がDATEタイプの値の場合、含まれる値は確実に有効な日付となり、EXTRACTはエラーを戻すことができません。

例: 非ANSI日時の定義

次の例は、非ANSI日時定義に関連しています。引数が時間値として書式化された文字定数の場合には、この引数はREALに変換されて処理されます。この例では、59が戻されます。

SELECT EXTRACT (MINUTE FROM '23:59:17.3');

例: 現在の時刻から時間を返す

この例は、現在時刻から時間値を整数として戻します。

SELECT EXTRACT (HOUR FROM CURRENT_TIME);

現在時刻は、指示された精度でシステム値 TIMEとして検索されます。

例: 秒をDECIMALとして返す

次の例では、DECIMAL(8,2)の形で秒が戻されます。これは、CURRENT_TIMEの秒の小数点以下の桁数2に基づいています。

SELECT EXTRACT (SECOND FROM CURRENT_TIME (2));