機械翻訳について

日付と時間関数

日付と時間関数は、DATEおよびDATETIMEに基づいてデータを操作します。

関数 説明 構文

CURRENT_Date

CURRENT_DATE

現在の日付を返します。

日付は、Oracle BIが実行されているシステムによって決定されます。

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

指定した精度の桁数で現在の時刻を返します。たとえば: HH:MM:SS.SSS

引数を指定しない場合、関数はデフォルトの精度を返します。

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

現在の日付/タイムスタンプを指定された精度の桁数で返します。

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

指定された日付式の曜日名を返します。

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

指定された日付式について、月の通算日に対応する数字を返します。

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

指定された日付式について、曜日に対応する1から7の数字を返します。 たとえば、1は日曜日、2は月曜日に対応し、同様に続いて7は土曜日に対応します。

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

指定された日付式について、年の通算日に対応する数字(1から366)を返します。

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

指定された日付式について、四半期の通算日に対応する数字(1から92)を返します。

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

指定された時刻式について、時間に対応する数字(0から23)を返します。 たとえば、0は午前12時に対応し、23は午後11時に対応します。

HOUR(expr)

MINUTE

MINUTE(Order_Time)

指定された時刻式について、分に対応する数字(0から59)を返します。

MINUTE(expr)

MONTH

MONTH(Order_Time)

指定された日付式について、月に対応する数字(1から12)を返します。

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

指定された日付式の月の名前を返します。

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

指定された日付式について、四半期の通算月に対応する数字(1から3)を返します。

MONTH_OF_QUARTER(expr)

NOW

NOW()

現在のタイムスタンプを返します。 NOW関数は、CURRENT_TIMESTAMP関数と同等です。

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

指定された日付式について、年の四半期に対応する数字(1から4)を返します。

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

指定された時刻式について、秒に対応する数字(0から59)を返します。

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

指定された間隔の数をタイムスタンプに加算し、単一のタイムスタンプを返します。

間隔オプションは次のとおりです: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

2つのタイムスタンプ間の指定された間隔の合計数を返します。

TIMESTAMPADDと同じ間隔を使用します。

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

指定された日付式について、四半期の通算週に対応する数字(1から13)を返します。

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

指定された日付式について、年の通算週に対応する数字(1から53)を返します。

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

指定された日付式の年を返します。

YEAR(expr)

日付関数の使用に関するヒント

ワークブックで日付関数を使用して会計期間を計算したり、文字列を日付に変換したり、特定のタイム・ゾーンで日時を表示したり、時間の経過に伴う差異を計算する際に、最適な結果を得るためのヒントを次に示します。

会計年度、四半期および月の計算:

サブジェクト領域には通常、時間ディメンションがあるため、会計四半期、会計月、会計週などの事前構成された期間を使用できます。 日付フィールドのみがある場合は、日付関数を使用してこれらの期間を自分で計算できます。

この例では、会計四半期を計算します:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)

この例では、会計年度と会計月を計算します:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)

ノート:

  • ||は値を連結します。
  • cast (xxx(date) as char)は、日付フィールドの一部を抽出します。
  • TIMESTAMPADD は、日付から期間を追加(またはサブ抽象化)します。 この例では、パラメータ値SQL_TSI_MONTHを使用して月を追加します。

前述の計算は表ではうまく機能しますが、フィルタで使用すると、戻り値の間隔が奇数になる可能性があります。 この場合、次の例に基づいて、よりクリーンで複雑な計算を使用します:

'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')

文字列を日付に変換:

Oracle Analyticsは、データをプロファイルし、日付を抽出および変換するためのエンリッチメントの推奨事項を提供します。 自分で文字列を日付に変換する必要がある場合は、次のヒントを使用します。
  • ワークブック・デザイナで、データ・ペインで変換する列に移動し、右クリックして「日付に変換」を選択します。 日付を構成し、「ステップの追加」をクリックします。

  • ワークブック・デザイナで、データ・ペインで変換する列に移動し、右クリックして「編集」を選択します。 日付を構成し、「ステップの追加」をクリックします。

    青色の列名を含むテキスト・ボックスで、列名の前にTo_DateTime(を挿入し、列名の後に)を付けて使用する日付書式を追加し、「ステップの追加」をクリックします。
    convert-string-date-3.pngの説明は以下のとおりです
    図convert-string-date-3.pngの説明

    「編集」オプションを使用して日付変換関数を作成する場合は、Allow_Variable_Digitsを使用して1桁または2桁の数字で列値を処理し、Null_On_Error引数を使用して必要なパターンと一致しない行を破棄することもできます。 必要なパターンと一致しないデータを処理する代替方法については、REPLACEとCASTも参照してください。

    To_DateTime()を使用する別の方法として、CAST()を使用して値のデータ型を変更します。 たとえば、CAST(SalesDate AS DATE)です。

    さらに、「置換」オプションを使用します。 ワークブック・デザイナで、データ・ペインで変換する列に移動し、右クリックして「置換」を選択します。 必要な置換タイプを構成し、「ステップの追加」をクリックします。

特定のタイムゾーンでの日時フィールドの表示:

データベースでNEW_TIMEファンクションをEVALUATEとともに使用します。 たとえば:

evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')

日付フィールドに時間コンポーネントが含まれていることを確認します。

時間の差を計算:

現在と昨日の間の数値とパーセンテージの差異を表示するには、次の例に基づいて計算を作成します:
  • 昨日までのメジャーの計算: filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • 差分を計算: Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • 差異率の計算: 1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage

ノート:

  • これらの例ではSQL_TSI_DAYを使用していますが、週単位および月単位で週単位および月単位のWEEKおよびMONTHを使用することもできます。
  • これらの例は、通常または自然なカレンダで機能します。 会計月と四半期が必要な場合は、TIMESTAMPADDではなく、計算でリポジトリ変数を使用します。 または、これを「会計年度、四半期および月の計算」ヒントと組み合せます。
  • 一部のサブジェクト領域には、PY (前年)、PQ (前四半期)などの事前計算済前Xメジャーが含まれており、これを使用して時間の経過に伴う差異を計算できます。
  • または、TIME SERIES関数を使用できます: AGO、PERIODROLLING、TODATE。 「時系列関数」を参照してください。