基于SQL查询创建NSPredicate

时间:2015-11-01 04:28:18

标签: ios objective-c nspredicate

我将以下需要的SQL转换为NSPredicate:

SELECT * FROM accounts
WHERE deleted = NO AND inactive = N0
AND name LIKE 'Harry%'
ORDER BY accounts DESC, sales DESC;

而不是SQL和NSPredicate中的类似,我可以使用BEGINSWITH吗?

2 个答案:

答案 0 :(得分:1)

NSPredicate仅对应于SQL查询的WHERE子句。您可以使用name = false and inactive = false and name like 'Harry*',或者您可以使用name BEGINSWITH 'Harry'代替。请注意,它使用“?”的glob类型通配符和“*”而不是SQL通配符。富勒文档可在https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html获得。 NSFetchRequest类将表示其余的子句 - 指定要获取的实体(FROM子句)和排序描述符(ORDER BY子句)以及谓词。

答案 1 :(得分:1)

<div id="holder">
  <h1 id="categories">Categories</h1>
  <div class="select">
    <a id="myHeader1" class="catselect" href="#">Comedy</a>
  </div>

  <div class="select">
    <a id="myHeader2" class="catselect" href="#">Horror</a>
  </div>

  <div class="select">
    <a id="myHeader3" class="catselect" href="#">Action</a>
  </div>
</div>

我希望它有所帮助