2011-12-16 254 views
2

任何人都可以幫我編寫一個SOQL查詢。在WHERE語句中使用「Date」數據類型很容易,它的行爲就像一個普通的Date一樣。但是如果數據類型是「公式(日期)」,看起來正常的日期時間函數不起作用。在簡單的查詢像公式(日期)日期類型的SOQL日期比較

SELECT Date_of_purchase__c FROM Goods WHERE Date_of_purchase__c = 2011-11-04 

一切工作正常,如果「Date_of_purchase__c」字段是「日期」類型。但如果字段類型是「公式(日期)」,則相同的查詢失敗。我究竟做錯了什麼?謝謝!

回答

2

您是否100%確定您的公式是使用date類型而不是datetime?我剛剛創建的聯繫公式字段來進行測試,使用公式:

DATEVALUE(CreatedDate) 

我然後跑在系統日誌下面的代碼:

System.Debug([Select Name From Contact Where CreatedDateF__c = 2011-12-16]); 

,我可以看到,它返回20行。

+0

感謝您的幫助!我在自定義字段定義詳細信息中可以看到的所有數據類型都是「公式」。該日期是從其他幾個公式字段中計算出來的。當你得到樣本對象時,這個字段是通常的Y-m-d格式。現在我相信公式數據類型不是兩種工作方式 - 它們只在獲取數據時才起作用,但不能在where語句中使用它們。 – dvdbrk 2011-12-16 11:54:44