日付関数
SOQL クエリで日付関数を使用すると、日、カレンダー月、会計年度などの期間によってデータのグループ化または絞り込みができます。
たとえば、CALENDAR_YEAR() 関数を使用して、各カレンダー年のすべての商談の [金額] の合計値を調べることができます。
1SELECT CALENDAR_YEAR(CreatedDate), SUM(Amount)
2FROM Opportunity
3GROUP BY CALENDAR_YEAR(CreatedDate)SOQL でサポートされるすべての日付関数を次の表に示します。
日付関数を使用する場合、次の点に注意してください。
- クエリに 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)