PERIOD(DATE)では許可されていない時間オプション
拡張式のデータ型がPERIOD(DATE)で、アンカー間隔でTIME定数を指定すると、リクエストから要求元にエラーが返ります。拡張式のデータ型がPERIOD(DATE)のときはTIMEオプションを指定することはできません。
アンカーEXPAND ON句に対して無効なPERIOD(TIME)およびPERIOD(TIME WITH TIME ZONE)
拡張式のデータ型がPERIOD(TIME)またはPERIOD(TIME WITH TIME ZONE)のいずれかの場合、アンカー間隔は指定できません。そのようにすると、Teradata Databaseはエラーを返します。
Timestampデータ型で指定したTIME定数値を使用する
拡張式の構成要素の型がTimestampデータ型の場合、Teradata Databaseは指定するTIME定数値を使用して、拡張中のアンカーのタイムスタンプ値を定義します。
anchor_nameでDAYを指定する場合、拡張間隔は拡張された行それぞれについてINTERVAL '1' DAYです。
TIME定数を指定しない場合、ANCHOR_MILLISECOND、ANCHOR_SECOND、ANCHOR_MINUTE、ANCHOR_HOUR、WEEK_BEGIN、MONTH_BEGIN、QUARTER_BEGINまたはYEAR_BEGINのアンカー名については、TIME定数値はデフォルトで'00:00:00.000000+00:00'、また、それ以外のアンカー名はデフォルトで'23:59:59.999999+00:00'になります。
デフォルト値の精度は拡張式の精度に設定されます。拡張式でタイム ゾーンを指定すると、デフォルト値にタイム ゾーン値+00:00が含まれます。それ以外の場合、値はセッション タイム ゾーンであり、タイム ゾーンは指定されません。
アンカー、たとえば、MONTH_BEGINはセッション タイムゾーンに基づいて計算されます。そのため、異なるタイム ゾーンにある2つのセッションについては、出力は違うものになります。この例は、例: 異なるタイムゾーンの2つの異なるセッションにおける同一の拡張を参照してください。
MONTH_BEGINを指定して月の最初の日ごとにテーブルを拡張する
毎月カレンダの最初の日ごとにテーブルを拡張するには、アンカー間隔句でMONTH_BEGINを指定します。
結果内の行の拡張された各値は、対応する月の月初日をBEGIN境界として持ち、拡張間隔はデフォルトでINTERVAL '1' MONTHです。各結果行の拡張された値のBEGIN境界は、'YYYY-MM-01'です。
例: EXPAND ON MONTH_BEGINおよびMONTH_ENDで最初のSELECTリクエストを参照してください。
MONTH_ENDを指定して月の最後の日ごとにテーブルを拡張する
毎月カレンダの最後の日ごとにテーブルを拡張するには、アンカー間隔句でMONTH_ENDを指定します。
結果行の拡張された各値は、対応する月の月末日をBEGIN境界として持ち、拡張間隔はデフォルトでINTERVAL '1' MONTHです。
各結果行の拡張された値のBEGIN境界は、'YYYY-MM-DD'です。このとき、DDは、月と年に応じて、28、29、30または31のどれか1つです。
例: EXPAND ON MONTH_BEGINおよびMONTH_ENDで2番目のSELECTリクエストを参照してください。
アンカー間隔句で曜日を指定して特定の曜日ごとにテーブルを拡張する
特定の曜日ごとにテーブルを拡張するには、アンカー間隔句で使用する曜日を指定します。 結果行の拡張された各値の開始境界は、曜日に対応し、拡張間隔はデフォルトでINTERVAL '7' DAYです。
例: WEEK_DAYを使用したアンカー ポイントの拡張を参照してください。