![]() |
|
カレンダーの日時関数カレンダーの日時関数は、日付、時刻、およびタイムスタンプのデータ型のデータを処理します。タイムスタンプのデータ型は、日付と時刻の組み合わせです。 すべての日付関数はISO 8601に準拠しています。木曜日を含む最初の完全な週がその年の最初の週となるため、このことは、Week_Of_YearおよびWeek_Of_Quarterなどの関数に特に影響します。日付関数の計算方法についての詳細は、ISO 8601規格を調べてください。 Current_Date現在の日付を返します。この日付は、Oracle CRM On Demand Answersを実行しているシステムによって決定されます。この値には時刻の要素は含まれません。 構文: CURRENT_DATE Current_Time現在の時刻を返します。この時刻は、Oracle CRM On Demand Answersを実行しているシステムによって決定されます。この値には日付コンポーネントは含まれません。 注:この関数は、レポートの実行時に現在の時刻を取得します。この関数を分析サブジェクトエリアで使用すると、レポートがキャッシュされなくなり、パフォーマンスの低下を防ぐことができます。 構文: CURRENT_TIME (n) 説明:
Current_TimeStamp現在の日付/タイムスタンプを返します。このタイムスタンプは、Oracle CRM On Demand Answersを実行しているシステムによって決定されます。 注:この関数は、レポートの実行時に現在の時刻を取得します。この関数を分析サブジェクトエリアで使用すると、レポートがキャッシュされなくなり、パフォーマンスの低下を防ぐことができます。 構文: CURRENT_TIMESTAMP (n) 説明:
Day_Of_Quarter指定した日付が、その四半期の何日目であるかを表す数値(1 - 92)を返します。 構文: DAY_OF_QUARTER (date_expression) 説明:
DayName指定した日付の曜日(英語)を返します。 構文: DAYNAME (date_expression) 説明:
DayOfMonth指定した日付が、その月の何日目であるかを表す数値を返します。 構文: DAYOFMONTH (date_expression) 説明:
DayOfWeek指定した日付の曜日を示す数値(1 - 7)を返します。1は日曜日を表し、7は土曜日を表します。 構文: DAYOFWEEK (date_expression) 説明:
DayOfYear指定した日付が、その年の何日目であるかを表す数値(1 - 366)を返します。 構文: DAYOFYEAR (date_expression) 説明:
Hour指定した時刻の時を表す数値(0 - 23)を返します。0は深夜0時を表し、23は午後11時を表します。 構文: HOUR (time_expression) 説明:
Minute指定した時刻の分を表す数値(0 - 59)を返します。 構文: MINUTE (time_expression) 説明:
Month指定した日付が、何月であるかを表す数値(1 - 12)を返します。 構文: MONTH (date_expression) 説明:
Month_Of_Quarter指定した日付が、その四半期の何か月目であるかを表す数値(1 - 3)を返します。 構文: MONTH_OF_QUARTER (date_expression) 説明:
MonthName指定した日付の月名(英語)を返します。 構文: MONTHNAME (date_expression) 説明:
Now現在のタイムスタンプを返します。NOW関数は、CURRENT_TIMESTAMP関数と同じです。 注:この関数は、レポートの実行時に現在の時刻を取得します。この関数を分析サブジェクトエリアで使用すると、レポートがキャッシュされなくなり、パフォーマンスの低下を防ぐことができます。 構文: NOW () Quarter_Of_Year指定した日付が、その年の第何四半期であるかを表す数値(1 - 4)を返します。 構文: QUARTER_OF_YEAR (date_expression) 説明:
Second指定した時刻の秒を表す数値(0 - 59)を返します。 構文: SECOND (time_expression) 説明:
TimestampAddTimestampAdd関数は、指定した間隔数を指定のタイムスタンプに追加します。単一のタイムスタンプを返します。 構文: TimestampAdd (interval, integer_expression, timestamp_expression) 説明:
integer-expression またはtimestamp-expression にNULL 値を指定すると、戻り値がNULL 値になります。 最も単純な状況では、この関数は指定した整数値(integer_expression)を、intervalの指定に基づいて、タイムスタンプの該当する単位に加算します。1週の加算は7日の加算に、1四半期の加算は3か月の加算に換算されます。負の整数値を指定すると、減算されます(時間が戻ります)。 指定された単位でオーバーフローが発生(たとえば、60秒、24時間、12か月を超えるなど)すると、それに応じた量を次の単位に加算する必要が生じます。たとえば、タイムスタンプの日付に加算すると、オーバーフローの処理に、(うるう年も含め)各月の日数が考慮されます。 タイムスタンプの月に対し加算する場合は、結果として算出されたタイムスタンプが有効な日付の値であるかが、TimestampAdd関数によって確認されます。たとえば、2000-05-31に1か月加算した場合、2000-06-31にはなりません。6月31日が存在しないためです。この場合、その月の最終日まで日付を戻します。この例では、2000-06-30です。 同様の問題が、うるう年の2月29日のタイムスタンプに、年を加算した場合にも発生します。加算後の年がうるう年ではない場合、日付が28に変更されます。 次に、TimestampAdd関数の例を示します。 次のコードでは、2000-02-27 14:30:00に3日加算した結果のタイムスタンプを求めています。2000年はうるう年のため、単一のタイムスタンプ2000-03-01 14:30:00が返されます。 TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP'2000-02-27 14:30:00') 次のコードでは、1999-07-31 0:0:0に7か月加算した結果を求めています。戻り値は、単一のタイムスタンプ2000-02-29 00:00:00です。この年の場合、2月が29日で終わるため、日付が31から減少している点に注意してください。 TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP'1999-07-31 00:00:00') 次のコードでは、2000-07-31 23:35:00に25分加算した結果を求めています。戻り値は、単一のタイムスタンプ2000-08-01 00:00:00です。オーバーフロー処理により、月の値まで変更されていることに注意してください。 TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP'2000-07-31 23:35:00') TimeStampDiff2 つのタイムスタンプの間隔を、指定した間隔単位の総数で返します。 構文: TimestampDiff (interval, timestamp_expression1, timestamp_expression2) 説明:
timestamp-expression パラメータがNULL 値の場合、戻り値がNULL 値になります。 この関数では、まず、指定したintervalパラメータに相当するタイムスタンプ単位が判断されます。たとえば、SQL_TSI_DAYは日付が単位となり、SQL_TSI_MONTHは月が単位となります。 次に、両方のタイムスタンプの、指定したintervalパラメータよりも上位の単位に注目し、それぞれのタイムスタンプの間隔総数を計算します。たとえば、指定したintervalが月単位である場合、月単位と、その年単位に12をかけた数値を加算して、それぞれのタイムスタンプの合計月数を計算します。 最後に、1番目のタイムスタンプの合計月数を2番目のタイムスタンプの合計月数から引きます。 日付の差を計算する場合は、両方のタイムスタンプ表現から時間値を切り捨て、日付値を引きます。 週の差を計算する場合は、日数で差を求め、それを7で割ってから切り上げます。 四半期の差を計算する場合は、月数で差を求め、それを3で割ってから切り上げます。 年の差を計算する場合は、月数で差を求め、それを12で割ってから切り上げます。 TimestampDiff 関数と結果の例次のコードでは、1998-07-31 23:35:00と2000-04-01 14:24:00の日付の差を求めています。戻り値は610です。2000年がうるう年のため、日付が1日加算されていることに注意してください。 TimestampDIFF(SQL_TSI_DAY, TIMESTAMP'1998-07-31 23:35:00', TIMESTAMP'2000-04-01 14:24:00') Week_Of_Quarter指定した日付が、その四半期の何週目であるかを表す数値(1 - 13)を返します。 構文: WEEK_OF_QUARTER (date_expression) 説明:
Week_Of_Year指定した日付が、その年の何週目であるかを表す数値(1 - 53)を返します。 構文: WEEK_OF_YEAR (date_expression) 説明:
年指定した日付の年を返します。 構文: YEAR (date_expression) 説明:
例: YEAR (CURRENT_DATE) |
公開日 2016 年 10 月 | Copyright © 2005, 2016, Oracle. All rights reserved. Legal Notices. |