使用查询表达式支持更多的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('egt',100);

表示的查询条件就是 id >= 100

LT:小于(<)​​​​​​​;        ELT: 小于等于(<=)​​​​​​​

与上面 GT:大于用法类似

[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); // 根据条件保存修改的数据

参考文章链接https://blog.csdn.net/h330531987/article/details/73177387

Thinkphp3.2 表达式查询eq,neq,gt,egt,lt,elt,in,between,like,exp相关推荐

  1. Thinkphp3.2(tp3.2) sql语句表达式查询字符列表【eq,neq,gt,egt,lt,elt,in,between,like,exp】

    上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式: $map['字段名'] = array('表达式','查 ...

  2. mysql egt_ThinkPHP常用的运算符介绍eq|neq|gt|egt|lt|elt|heq|nheq

    记录一下ThinkPHP中比较常用的运算符(eq|neq|gt|egt|lt|elt|heq|nheq)标签,可用于比较判断输出. eq或equal 等于 neq或notequal 不等于 gt大于 ...

  3. TP 框架没有考虑完善的功能点:1、表达式查询不支持INSTR形式的查询

    2019独角兽企业重金招聘Python工程师标准>>> 如题 TP框架支持表达式查询,LT IN BETWEEN等,还可以使用 EXP 来表征直接使用原生级的表达式,但此方式都是以关 ...

  4. 使用 Visual C# .NET 通过 XPath 表达式查询 XML

    本文演示如何使用 XPathNavigator 类通过 XML 路径语言 (XPath) 表达式查询 XPathDocument 对象.XPath 用于以编程方式计算表达式并选择文档中的特定节点. 回 ...

  5. 汇编条件判断 eq neq

     汇编条件判断   eq   neq cpsr[30]是zero位,主要保存最近的一次"是否相等"的条件判断的结果 zero位状态由以下指令来设置 cmp  r0 , r1 c ...

  6. MongoDB使用$project投射表达式查询

    目录 1.原字段查询 2.数学表达式查询 3.日期表达查询 4.字符串表达式查询 $project为投射查询 ,即将一个数据结果映射为另一个结果 过程中可以对某些数据进行修改 控制其最终显示的结果. ...

  7. eq,neq,gt,lt等表达式缩写

    eq 等于 neq 不等于 gt 大于 egt 大于等于 lt 小于 elt 小于等于 like LIKE between BETWEEN notnull IS NUT NULL null IS NU ...

  8. eq, neq.gt,ge,lte,lt,not,mod的含义

    lt:less than 小于 lte.le:less than or equal to 小于等于 eq:equal to 等于 ne.neq:not equal to 不等于 gte.ge:grea ...

  9. js中eq neq gt gte lt lte分别是什么意思,如何应用

    含义: eq : EQUAL等于 neq : NOT EQUAL不等于 gt : GREATER THAN大于 lt : LESS THAN小于 gte : GREATER THAN OR EQUAL ...

最新文章

  1. 微软MCITP系列课程(四)磁盘系统管理
  2. ajax在项目中怎么使用,我如何添加项目在sql中使用jQuery(ajax)通过web服务
  3. mvc4中的 webapi 的使用方式
  4. task search in offline - three filters implementation
  5. .NET Core 2.0迁移技巧之MemoryCache问题修复
  6. 记录自己灵感闪现的开发语录 每日更新 记录变强或者变得更菜的过程
  7. html可编辑下拉选项卡,bootstrap可编辑下拉框jquery.editable-select
  8. NumpyML : Linear Regression
  9. 完稿—单片机原理与接口技术
  10. 计算机离港系统分为模块,计算机离港系统包括( )模块。
  11. hdu 5467 Clarke and hunger games (lct)
  12. 计算机技术员自我介绍,技术员的自我介绍范文
  13. 笔记本可自行更换CPU、独显了,老外用它手搓了台“PS5”
  14. 怎样用c语言写高速超速罚款标准,如何做到科一满分一把过?超速扣分题必须掌握!...
  15. CSS 行高 line-height属性
  16. matlab网页运行
  17. java utl_java utl包详细讲解.doc
  18. ABAP 调用webservice 错误
  19. 老李聊股:至正股份(第二篇)
  20. DVWA——使用sqlmap工具post注入

热门文章

  1. 感谢ZhangYu dalao回关
  2. 从0开始建设SAAS系统的建议
  3. VS创建 Win32 应用程序(实现窗口的创建)
  4. 电脑硬件知识入门之内存篇
  5. 怎么修改图片为300dpi?如何在线修改分辨率?
  6. 从阿西莫夫机器人三大定律 谈起
  7. python 在线客服_如何利用Python实现简单全双工在线客服系统!这个有点东西!...
  8. 简单的超市会员管理系统
  9. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
  10. Python采集喜马拉雅音频数据详解