查詢日期的時候日期可以根據引數傳進去,但不能在字串中傳參後在作為查詢條件
簡單比較以下兩段**
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...