Teradata-date-time-functions
提供:Dev Guides
Teradata-日付/時刻関数
この章では、Teradataで使用可能な日付/時刻関数について説明します。
日付の保存
日付は、次の式を使用して内部的に整数として保存されます。
((YEAR - 1900) *10000) + (MONTH* 100) + DAY
次のクエリを使用して、日付の保存方法を確認できます。
SELECT CAST(CURRENT_DATE AS INTEGER);
日付は整数として格納されるため、日付に対していくつかの算術演算を実行できます。 Teradataは、これらの操作を実行する機能を提供します。
エキス
EXTRACT関数は、DATE値から日、月、年の一部を抽出します。 この関数は、TIME/TIMESTAMP値から時間、分、秒を抽出するためにも使用されます。
例
次の例は、日付とタイムスタンプの値から年、月、日付、時間、分、秒の値を抽出する方法を示しています。
SELECT EXTRACT(YEAR FROM CURRENT_DATE);
EXTRACT(YEAR FROM Date)
-----------------------
2016
SELECT EXTRACT(MONTH FROM CURRENT_DATE);
EXTRACT(MONTH FROM Date)
------------------------
1
SELECT EXTRACT(DAY FROM CURRENT_DATE);
EXTRACT(DAY FROM Date)
------------------------
1
SELECT EXTRACT(HOUR FROM CURRENT_TIMESTAMP);
EXTRACT(HOUR FROM Current TimeStamp(6))
---------------------------------------
4
SELECT EXTRACT(MINUTE FROM CURRENT_TIMESTAMP);
EXTRACT(MINUTE FROM Current TimeStamp(6))
-----------------------------------------
54
SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP);
EXTRACT(SECOND FROM Current TimeStamp(6))
-----------------------------------------
27.140000
間隔
Teradataは、DATE値とTIME値で算術演算を実行するINTERVAL関数を提供します。 INTERVAL関数には2つのタイプがあります。
年月間隔
- YEAR
- 年月
- 月
日中の間隔
- DAY
- 営業時間
- 昼間
- 二日目
- HOUR
- 数時間
- 2時間目
- 分
- 2分前
- 2回目
例
次の例では、現在の日付に3年を追加します。
SELECT CURRENT_DATE, CURRENT_DATE + INTERVAL '03' YEAR;
Date (Date+ 3)
-------- ---------
16/01/01 19/01/01
次の例では、現在の日付に3年と01か月を追加します。
SELECT CURRENT_DATE, CURRENT_DATE + INTERVAL '03-01' YEAR TO MONTH;
Date (Date+ 3-01)
-------- ------------
16/01/01 19/02/01
次の例では、01日、05時間、10分を現在のタイムスタンプに追加します。
SELECT CURRENT_TIMESTAMP,CURRENT_TIMESTAMP + INTERVAL '01 05:10' DAY TO MINUTE;
Current TimeStamp(6) (Current TimeStamp(6)+ 1 05:10)
-------------------------------- --------------------------------
2016-01-01 04:57:26.360000+00:00 2016-01-02 10:07:26.360000+00:00