03-NSPredicate謂詞
NSPredicate 謂詞
在查詢資料的過程中,給NSFetchRequest設定一個過濾條件,不需要講所有的託管物件載入到記憶體中去。這樣的話就會節省記憶體和加快查詢速度。
一 運算子
1 比較運算子
、< 、== 、>= 、<= 、!=
比如說age>80
NSPredicate *pre = [NSPredicate predicateWithFormat:@"age > 80"];
2.範圍運算子:IN 、BETWEEN 表示一個範圍
// 過濾條件 BETWEEN 年齡在27 到 30 之間的範圍 IN 是 包含,過濾包含27 或者 28的物件
// NSPredicate *pre = [NSPredicate predicateWithFormat:@"age BETWEEN {27,30}"];
NSPredicate *pre = [NSPredicate predicateWithFormat:@"age BETWEEN {27,28}"];
3 字串本身:SELF
// 字串本身 找到name等於某個字串的操作
NSPredicate *pre = [NSPredicate predicateWithFormat:@"name == '編號322'"];
4 字串相關的操作 BEGINSWITH(以某個字串開頭)、ENDSWITH(以某個字串結束)、CONTAINS(包含某個字串)
// [c]不區分大小寫
// [d]不區分發音符號即沒有重音符號
// [cd]既不區分大小寫,也不區分發音符號
// CONTAINS 包含指定字串的
NSPredicate *pre = [NSPredicate predicateWithFormat:@"name CONTAINS[cd] '編號322'"];
// BEGINSWITH 以指定字串的開始的
NSPredicate *pre = [NSPredicate predicateWithFormat:@"name BEGINSWITH[cd] '編號'"];
// ENDSWITH 以指定字串的結束的
NSPredicate *pre = [NSPredicate predicateWithFormat:@"name ENDSWITH[cd] '2'"];
5 萬用字元 LIKE 常用於模糊查詢
// *注*: 星號 "*" : 代表0個或多個字元
// 問號 "?" : 代表一個字元
// 找出編號開頭的name
NSPredicate *pre = [NSPredicate predicateWithFormat:@"name LIKE[cd] '編號*'"];
6 keyPath 建立查詢條件的時候,支援設定被匹配的目標的keypath,設定更為深層次的匹配目標
[NSPredicate predicateWithFormat:@"employee.name = %@", @"lxz"]
相關文章
- C++謂詞C++
- Java 8謂詞鏈Java
- java8-謂詞(predicate)Java
- 5.1一階謂詞邏輯
- 原子謂詞公式和合式公式公式
- 傳說中的“謂詞越界“場景
- SQL 改寫系列七:謂詞移動SQL
- SQL 改寫系列六:謂詞推導SQL
- 【SQL】Oracle查詢轉換之謂詞推送SQLOracle
- CodeQL學習筆記(1)-QL語法(邏輯連線詞、量詞、聚合詞、謂詞和類)筆記
- 【GreatSQL最佳化器-02】索引和Sargable謂詞SQL索引
- Oracle 12CR2查詢轉換之謂詞推送Oracle
- C++ 一元謂詞對應的lambda表示式C++
- 標準變成使謂詞(布林函式)返回true函式
- [20201116]11g連線謂詞推入push_pred問題.txt
- 大資料SQL中的Join謂詞下推,真的那麼難懂?大資料SQL
- 執行計劃-4:謂詞的選擇時機與使用細節
- 【大資料】SparkSql連線查詢中的謂詞下推處理(一)大資料SparkSQL
- 【大資料】SparkSql 連線查詢中的謂詞下推處理 (二)大資料SparkSQL
- 謂詞下推:計算和儲存分開進行分析是低效的?
- 【TUNE_ORACLE】列出SQL謂詞中需要建立索引的列SQL參考OracleSQL索引
- 人工智慧知識的表示——一節謂詞邏輯&產生式&框架人工智慧框架
- 恕我直言你可能真的不會java第3篇:Stream的Filter與謂詞邏輯JavaFilter
- 所謂併發程式設計,所謂有其三程式設計
- 聊聊所謂的cookieCookie
- php->所謂"hook"PHPHook
- 何謂 Linux 使用者?Linux
- us所謂的政治“精英”
- 何謂中綴表示式
- Python程式碼閱讀(第38篇):根據謂詞函式和屬性字串構造判斷函式Python函式字串
- 何謂開源程式設計?程式設計
- 所謂的職場祕籍
- 談所謂價值投資
- 仿函式是什麼?仿函式什麼時候必須繼承一元或者二元謂詞函式繼承
- Teradata退了? 無所謂,GBASE會出手
- 聊聊所謂的彈性工作制
- 何謂“第五代儲存”?
- 所謂DNS汙染和劫持是什麼?DNS