Teradata Current Dateの概要
TeradataのCURRENT_DATEは、クエリの送信時の現在の日付を返します。 CURRENT_DATEが複数回呼び出された場合、CURRENT_DATEが呼び出された時刻と同じ日付が返されます。 返される日付は、要求が行われている期間全体では変更されません。 デフォルトでは、CURRENT_DATEはローカルタイムゾーンのタイムスタンプを返します。 とにかく、必要に応じて変位を指定することができます。 さらに、TimeDateWZControlフラグも重要な役割を果たします。 私たちは、このフラグが有効または無効に設定されているに応じて異なる結果を得る傾向があります。
Teradataの現在の日付は何ですか?
CURRENT_DATEは、ANSIと互換性のあるTeradataのdate関数です。 主にそのインスタンスで現在の日付を返しますが、要件に従って選択できるいくつかの選択肢があります。 日付の要件を取得するためにCURRENT_DATEと組み合わせて使用できる複数の要素が存在する可能性があります。
無料のデータサイエンスコースを開始
Hadoop、データサイエンス、統計&その他
- AT LOCAL:DBS制御フラグTimeDateWZControlがtrueに設定されている場合、CURRENT_DATE関数によって返される値がセッション-タイムスタンプ&セッション-タイムゾーンを使用してフェッ
- それ以外の場合、TimeDateWZControlがfalse、disabledに設定されている場合、CURRENT_DATEはteradata DBサーバー&セッション-タイムゾーンに基づいてタイムスタンプを返します。
- at expression:これは、関数CURRENT_DATE
- の値を返す前に、式で指定された期間だけタイムゾーンが移動されることを確認します式のデータ型は、INTERVAL HOUR(2)TO MINUTEで定義されています。
- : ここで、time_zone_stringは参照タイムスタンプとして機能し、CURRENT_DATE
AT句とCURRENT_DATEの両方がANSI互換であるかどうかを判断します。
以下のようにAT句なしでCURRENT_DATEを指定した場合:
CURRENT_DATE
またはとして
CURRENT_DATE AT LOCAL
この場合、上記の両方のシナリオで返される値は、DBS制御フラグの設定に依存します。:
- タイムテーブル
ケース1: このフラグが有効になっているかtrueに設定されている場合、CURRENT_DATEはセッション時間とセッションタイムゾーンごとの日付を返します。
ケース2:このフラグが無効になっているかfalseに設定されている場合、CURRENT_DATEはTeradataのローカルDB時刻値とセッションのタイムゾーンに従って日付を返します。
4.6(3,144評価)
コースを見る
CURRENT_DATEは、夏時間の節約の開始と終了に応じて調整されます。
結果のデータ型、形式、およびCURRENT_DATEのタイトルは次のとおりです:
- データ型は日付、
- 形式です:日付フォームモードが設定されている場合、デフォルトの形式はIntegerDateです。
- デフォルトのタイトルは日付です; それ以外の場合は、as句を使用してユーザー定義のタイトルを設定することもできますas CURRENT_DATE As Today_Date、
- 日付であるデフォルトのタイトルは、タイトル’Today’に置’,
TeradataでCURRENT_DATEを表示するには?
それを詳細に理解するための例を見てみましょう:
SELECT CURRENT_DATE as curr_Date
これにより、実行時の日付が返され、日付(データ型)–YYYY-MM-DDのデフォルト形式で返されます。
現在の日付に日数を追加し、同じ日を返したい場合はどうなりますか?
これに必要なSQL文は次のようになります:
SELECT CURRENT_DATE + 1
これにより、システムによって返された現在の日付に1日が追加されます。 システム内のcurrent_dateが’2020-03-24’であるとします。 その後、1日を追加した上記のSQLは’2020-03-25’を返します。
以下で説明するように、構文がわずかに異なる方法2を使用して同じようにしましょう:
SELECT CURRENT_DATE + INTERVAL '15' DAY
これにより、システムによって返された現在の日付に15日が追加されます。 システム内のcurrent_dateが’2020-03-24’であるとします。 その後、1日を追加した上記のSQLは’2020-04-08を返します。’
現在の日付に日数を減算し、同じものを返す場合はどうなりますか?
これに必要なSQL文は次のようになります:
SELECT CURRENT_DATE - 1
これは、システムによって返された現在の日付に日を減算します。 システム内のcurrent_dateが’2020-03-24’であるとします。 その後、1日を追加した上記のSQLは’2020-03-23を返します。’
以下で説明するように、構文が少し異なる方法2を使用して同じようにしましょう:
SELECT CURRENT_DATE - INTERVAL '15' DAY
これにより、システムによって返された現在の日付から15日が差し引かれます。 システム内のcurrent_dateが’2020-03-24’であるとします。 その後、1日を追加した上記のSQLは’2020-03-09を返します。’
Teradataの現在の日付の例
現在の日付の実用的な使用法を見つけ、同じことを理解するための例を見てみましょう。 注文idと注文日を持つ以下の表を考えてみましょう。 過去30日間に行われた注文を調べる必要があると仮定しましょう。
ここでこれを達成するために従うことができるアプローチについて説明しましょう:
注文日を(CURRENT_DATE–15)と比較し、注文日がそれより大きい場合は、 このようにして、過去30日間に行われたすべての注文を識別することができます。
のは、同じのためのSQL文を書いてみましょう。
SELECT ID, ORDER_DATE,
CASE
WHEN ORDER_DATE >= (CURRENT_DATE - 30) Then 'TRUE
ELSE 'FALSE
END as Indicator
from Table_name
新しいフィールドインジケータはここに作成され、その注文が過去30日間に行われた場合はTrueの値を持ちます。 この例で現在の日付を’2020-03-20’とすると、インジケータフィールドの値は以下のようになります。
インジケーター項目を使用すると、過去30日から注文が行われたレコードのみを取得できます。
結論
- CURRENT_DATEは、デフォルトで現在のシステム日付を返します
- AT句は、要件
- に従って逸脱した日付を持つためにCURRENT_DATEで利用できます。
- 要件に応じて、CURRENT_DATEから必要な日数の間隔を加算および減算することもできます。
推奨記事
これはTeradataの現在の日付のガイドです。 ここでは、TeradataでCURRENT_DATEを表示する方法についても説明します。 さまざまな例と一緒に。 また、詳細については、次の記事をご覧ください–
- TeraData vs Oracle
- Teradataでのキャリア
- Terraform vs Ansible
- Teradataケースステートメント|どのように使用するには?
- teradataによるTeradataパーティションのガイド
- Teradataアーキテクチャ|コンポーネント
- Teradataのプライマリインデックスを学ぶ