この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

日付関数

SOQL クエリで日付関数を使用すると、日、カレンダー月、会計年度などの期間によってデータのグループ化または絞り込みができます。

たとえば、CALENDAR_YEAR() 関数を使用して、各カレンダー年のすべての商談の [金額] の合計値を調べることができます。

1SELECT CALENDAR_YEAR(CreatedDate), SUM(Amount)
2FROM Opportunity
3GROUP BY CALENDAR_YEAR(CreatedDate)

日付関数は、API バージョン 18.0 以降で使用できます。

クライアントアプリケーションの SOQL クエリは、dateTime 項目の値を協定世界時 (UTC) の値で返します。dateTime 項目の値をデフォルトのタイムゾーンに変換するには、「日付関数のタイムゾーンの変換」を参照してください。

メモ

SOQL でサポートされるすべての日付関数を次の表に示します。

日付関数 説明
CALENDAR_MONTH() date 項目のカレンダー月を表す数値を返します。
  • 1 月は 1
  • 12 月は 12
CALENDAR_QUARTER() date 項目の四半期を表す数値を返します。
  • 1 は 1 月 1 日~ 3 月 31 日
  • 2 は 4 月 1 日~ 6 月 30 日
  • 3 は 7 月 1 日~ 9 月 30 日
  • 4 は 10 月 1 日~ 12 月 31 日
CALENDAR_YEAR() date 項目のカレンダー年を表す数値を返します。 2009
DAY_IN_MONTH() 日付項目の月の��日目かを表す数値を返します。 2 月 20 日の場合は 20
DAY_IN_WEEK() date 項目の曜日を表す数値を返します。
  • 日曜日は 1
  • 土曜日は 7
DAY_IN_YEAR() date 項目の年の何日目かを表す数値を返します。 2 月 1 日の場合は 32
DAY_ONLY() dateTime 項目の日付部分を表す日付を返します。 2009 年 9 月 22 日は 2009-09-22

DAY_ONLY() は dateTime 項目でのみ使用できます。

FISCAL_MONTH() date 項目の会計年度の月を表す数値を返します。これは、組織でグレゴリオ暦と一致しない会計年度が使用されている場合は、CALENDAR_MONTH() と異なります。

この関数は、組織がカスタム会計年度を有効にしている場合には、サポートされません。Salesforce ヘルプの「会計年度の定義」を参照してください。

メモ

会計年度の期首月が 3 月とすると
  • 3 月の場合は 1
  • 2 月の場合は 12

Salesforce オンラインヘルプの「会計年度の設定」を参照してください。

FISCAL_QUARTER() date 項目の会計年度の四半期を表す数値を返します。これは、組織でグレゴリオ暦と一致しない会計年度が使用されている場合は、CALENDAR_QUARTER() と異なります。

この関数は、組織がカスタム会計年度を有効にしている場合には、サポートされません。Salesforce ヘルプの「会計年度の定義」を参照してください。

メモ

会計年度の期首月が 7 月とすると
  • 7 月 15 日の場合は 1
  • 6 月 6 日の場合は 4
FISCAL_YEAR() date 項目の会計年度を表す数値を返します。これは、組織でグレゴリオ暦と一致しない会計年度が使用されている場合は、CALENDAR_YEAR() と異なります。

この関数は、組織がカスタム会計年度を有効にしている場合には、サポートされません。Salesforce ヘルプの「会計年度の定義」を参照してください。

メモ

2009
HOUR_IN_DAY() dateTime 項目の時間を表す数値を返します。 18:23:10 の場合は 18

HOUR_IN_DAY() は dateTime 項目でのみ使用できます。

WEEK_IN_MONTH() date 項目の月の何週目かを表す数値を返します。 4 月 10 日の場合は 2

第 1 週は月の 1 日~ 7 日です。

WEEK_IN_YEAR() date 項目の年の何週目かを表す数値を返します。 1 月 3 日の場合は 1

第 1 週は 1 月 1 日~ 1 月 7 日です。

日付関数を使用する場合、次の点に注意してください。

  • クエリに GROUP BY 句が含まれていない場合でも、WHERE 句で日付関数を使用して結果を絞り込むことができます。次のクエリは 2009 年のデータを返します。
    1SELECT CreatedDate, Amount
    2FROM Opportunity
    3WHERE CALENDAR_YEAR(CreatedDate) = 2009
  • 日付関数の結果を WHERE 句の日付リテラルと比較することはできません。次のクエリは機能しません。
    1SELECT CreatedDate, Amount
    2FROM Opportunity
    3WHERE CALENDAR_YEAR(CreatedDate) = THIS_YEAR
  • GROUP BY 句にも含めない限り、SELECT 句で日付関数を使用することはできません。日付関数で使用される項目が date 項目の場合は例外があります。GROUP BY 句では日付関数の代わりに、date 項目を使用できます。これは、dateTime 項目に対しては機能しません。次のクエリは、CALENDAR_YEAR(CreatedDate)GROUP BY 句に含まれていないため機能しません。
    1SELECT CALENDAR_YEAR(CreatedDate), Amount
    2FROM Opportunity

    次のクエリは、CloseDate という date 項目が GROUP BY 句に含まれているため機能します。これが、CreatedDate などの dateTime 項目の場合には機能しません。

    1SELECT CALENDAR_YEAR(CloseDate)
    2FROM Opportunity
    3GROUP BY CALENDAR_YEAR(CloseDate)