Thinkphp3.2(tp3.2) sql语句表达式查询字符列表【eq,neq,gt,egt,lt,elt,in,between,like,exp】 本文共有2210个字,关键词: 上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式: $map['字段名'] = array('表达式','查询条件'); 表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是: 表达式 |含义 |协助记忆 --|:--:|--: EQ|等于(=)|equal NEQ| 不等于(<>)| not equal GT| 大于(>)| greater EGT| 大于等于(>=)| equal or greater LT| 小于(<)| less than ELT| 小于等于(<=)| equal or less than LIKE| 模糊查询| [NOT] BETWEEN |(不在)区间查询| [NOT] IN |(不在)IN 查询 | EXP |表达式查询,支持SQL语法 |expression 表达式查询的用法示例如下: ####EQ :等于(=) 例如: `$map['id'] = array('eq',100);` 和下面的查询等效 `$map['id'] = 100;` 表示的查询条件就是 id = 100 ####NEQ: 不等于(<>) 例如: `$map['id'] = array('neq',100);` 表示的查询条件就是 id <> 100 ####GT:大于(>) 例如: `$map['id'] = array('gt',100);` 表示的查询条件就是 id > 100 ####EGT:大于等于(>=) 例如: `$map['id'] = array('egt',100);` 表示的查询条件就是 id >= 100 ####LT:小于(<) 例如: `$map['id'] = array('lt',100);` 表示的查询条件就是 id < 100 ####ELT: 小于等于(<=) 例如: `$map['id'] = array('elt',100);` 表示的查询条件就是 id <= 100 ####[NOT] LIKE: 同sql的LIKE 例如: `$map['name'] = array('like','thinkphp%');` 查询条件就变成 name like 'thinkphp%' 如果配置了DB_LIKE_FIELDS参数的话,某些字段也会自动进行模糊查询。例如设置了: `'DB_LIKE_FIELDS'=>'title|content'` 的话,使用 $map['title'] = 'thinkphp'; 查询条件就会变成 title like '%thinkphp%' 支持数组方式,例如 ``` $map['a'] =array('like',array('%thinkphp%','%tp'),'OR'); $map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); ``` 生成的查询条件就是: `(a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')` ####[NOT] BETWEEN :同sql的[not] between 查询条件支持字符串或者数组,例如: `$map['id'] = array('between','1,8');` 和下面的等效: `$map['id'] = array('between',array('1','8'));` 查询条件就变成 id BETWEEN 1 AND 8 ####[NOT] IN: 同sql的[not] in 查询条件支持字符串或者数组,例如: `$map['id'] = array('not in','1,5,8');` 和下面的等效: `$map['id'] = array('not in',array('1','5','8'));` 查询条件就变成 id NOT IN (1,5, 8) ####EXP:表达式 支持更复杂的查询情况 例如: `$map['id'] = array('in','1,3,8');` 可以改成: `$map['id'] = array('exp',' IN (1,3,8) ');` exp查询的条件不会被当成字符串,所以后面的查询条件可以使用任何SQL支持的语法,包括使用函数和字段名称。查询表达式不仅可用于查询条件,也可以用于数据更新,例如: ``` $User = M("User"); // 实例化User对象 // 要修改的数据对象属性赋值 $data['name'] = 'ThinkPHP'; $data['score'] = array('exp','score+1');// 用户的积分加1 $User->where('id=5')->save($data); // 根据条件保存修改的数据 ``` × yihong (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 PHP 2019-08-24 评论 5630 次浏览