我YYYYMMDD格式有一個整數字段查詢的整數領域,我想回到在某月的某一天進行的所有記錄。有沒有在NSPredicate中執行這種算術的方法,以便將其轉換爲SQL(用於優化查找)?通過只是檢查的最後x位數
基本上我需要執行的操作:(identifier - floor(identifier/100) * 100) == day
或identifier % 100 == day
(以較快的比較結果爲準),但這在NSPredicate中似乎不起作用。您似乎無法在謂詞中執行數學運算。
或者,是否有某種方法可以在查詢中將字段轉換爲字符串?所以我可以使用ENDSWITH?
這是一個SQLite商店,讓我覺得有些謂詞比較函數(塊爲主)無法使用,因爲它們可以限制在內存中保存。
有關如何有效執行此操作的任何信息將不勝感激。
爲什麼不將日期數據保留在日期類型中? – stark 2014-12-03 15:42:34
這些日期標識符在我們的應用程序中被標準化和使用,它們是掛鐘日期(即不是從時代開始的時間點),也沒有時間。不管整數表示什麼,問題仍然存在。我們需要基於整數的最後x個數字進行有效查詢。 – Steve 2014-12-03 15:50:16
@Rob可悲的是,我不認爲你可以在SQLite商店中使用predicateWithBlock。 – Steve 2014-12-03 17:18:53