NSPredicate查詢日期的問題

2022-02-18 00:42:42 字數 895 閱讀 5095

查詢日期的時候日期可以根據引數傳進去,但不能在字串中傳參後在作為查詢條件

簡單比較以下兩段**

nsdate* date1=[nsdate date];

nsdate* date2=date1;

request.predicate=[nspredicate predicatewithformat:@"

studydate>=%@ and studydate<=%@

",date1,date2];

nsdate* date1=[nsdate date];

nsdate* date2=date1;

_searchstring=[[nsstring alloc]initwithformat:@"

studydate>=%@ and studydate<=%@

",date1,date2];

request.predicate=[nspredicate predicatewithformat:_searchstring];

第一段**中直接使用傳參生成nspredicate,而第二段是經過了乙個字串,然後傳給nspredicate,第一段**查詢沒有問題,第二段**查詢就會報以下的錯誤

nsinvalidargumentexception

', reason: '

unable to parse the format string "studydate>=2014-04-25 07:13:37 +0000 and studydate<=2014-04-25 07:13:37 +0000"

'但一般情況下查詢資料庫不可能是只查詢乙個條件,好多情況下是拼接字串來得到乙個總的查詢條件,在sql語句中經常這樣做,但這在謂詞中不可以,我們能做的就是把所有的查詢條件作為引數傳到謂詞中

NSPredicate查詢日期的問題

查詢日期的時候日期可以根據引數傳進去,但不能在字串中傳參後在作為查詢條件 簡單比較以下兩段 nsdate date1 nsdate date nsdate date2 date1 request.predicate nspredicate predicatewithformat studydate ...

NSPredicate 條件查詢 過慮

coredata,nspredicate用於查詢和過濾 在sql中作為查詢條件通常用where,但在coredata中作為查詢條件就可以用到nspredicate.nspredicate 不單可以和coredata中的fetchrequest 配合使用。也可以與nsarray配合使用。1 比較運算子...

mysql日期查詢 mysql 查詢日期

檢視本月資料 select from content publish where date format publish time,y m date format date sub curdate interval 0 month y m 檢視上個月資料 select from content pu...