ThinkPHP运算符 与 SQL运算符 对比表[通俗易懂]

ThinkPHP运算符 与 SQL运算符 对比表

大家好,又见面了,我是全栈君。

ThinkPHP运算符 与 SQL运算符 对比表

TP运算符

SQL运算符

样例

实际查询条件

eq

=

$map[‘id’] = array(‘eq’,100);

等效于:$map[‘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

like

like

$map<‘username’> = array(‘like’,’Admin%’);

username like ‘Admin%’

between

between and

$map[‘id’] = array(‘between’,’1,8′);

id BETWEEN 1 AND 8

not between

not between and

$map[‘id’] = array(‘not between’,’1,8′);

id NOT BETWEEN 1 AND 8

in

in

$map[‘id’] = array(‘in’,’1,5,8′);

id in(1,5,8)

not in

not in

$map[‘id’] = array(‘not in’,’1,5,8′);

id not in(1,5,8)

and(默认)

and

$map[‘id’] = array(array(‘gt’,1),array(‘lt’,10));

(id > 1) AND (id < 10)

or

or

$map[‘id’] = array(array(‘gt’,3),array(‘lt’,10), ‘or’);

(id > 3) OR (id < 10)

xor(异或)

xor

两个输入中仅仅有一个是true时。结果为true,否则为false,样例略。

1 xor 1 = 0

exp

综合表达式

$map[‘id’] = array(‘exp’,’in(1,3,8)’);

$map[‘id’] = array(‘in’,’1,3,8′);

or

不同字段 or 

$map[‘id’] = ‘8’;

$map[‘pid’] = ’10’;

$map[‘_logic’] = ‘OR’;

‘id’=8 AND ‘pid’=10

 

 

补充说明

· 同 SQL 一样,ThinkPHP运算符不区分大写和小写。eq 与 EQ 一样。

· between、 in 条件支持字符串或者数组,即以下两种写法是等效的:

$map[‘id’]  = array(‘not in’,’1,5,8′);

$map[‘id’]  = array(‘not in’,array(‘1′,’5′,’8’));

· 

exp 表达式

上表中的 exp 不是一个运算符。而是一个综合表达式以支持更复杂的条件设置。

exp 的操作条件不会被当成字符串。能够使用不论什么 SQL 支持的语法。包含使用函数和字段名称。

exp 不仅用于 where 条件,也能够用于数据更新,如:

$Dao = M(“Article”);

 

// 构建 save 的数据数组,文章PV数+1

$data[‘id’] = 10;$data[‘counter’] = array(‘exp’,’counter+1‘);

 

// 依据条件保存改动的数据

$User->save($data);

 

ThinkPHP Where 条件中使用表达式

原文出自http://www.cnblogs.com/martin1009/archive/2012/08/24/2653718.html

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116285.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二进制8进制10进制16进制代码_不同进制之间的转换

    二进制8进制10进制16进制代码_不同进制之间的转换为什么要使用进制数数据在计算机中的表示,最终以二进制的形式存在,就是各种&lt;黑客帝国&gt;电影中那些0101010…的数字;我们操作计算机,实际就是使用程序和软件在计算机上各种读写数据,如果我们直接操作二进制的话,面对这么长的数进行思考或操作,没有人会喜欢。C,C++语言没有提供在代码直接写二进制数的方法。用16进制或8进制可以…

    2022年10月9日
    3
  • java分前端后端吗_Java Web属于前端还是后端

    java分前端后端吗_Java Web属于前端还是后端JavaWeb属于前端还是后端发布时间:2020-06-1513:39:15来源:亿速云阅读:325作者:鸽子JavaWeb是前端还是后端?JavaWeb是属于后端,JavaWeb就是用Java技术开发的Web应用,而Java是一种可以编写跨平台应用软件、完全面向对象的高级程序设计语言,一般常用于后端服务器的开发和Android软件的开发。Java语言特点1、简单性Java看起来设计…

    2022年7月7日
    26
  • jenkins教程菜鸟_jenkins新手入门教程

    jenkins教程菜鸟_jenkins新手入门教程Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。虽然jenkins提供了Window、Linux、OSX等安装程序,但是都没有war方便。本文用的是jenkins的war包,简单、方便、快捷。一、安装jenkins1.在https://jenkins.io/下载jenkins.war;##…

    2022年5月14日
    48
  • EM算法定义及推导

    EM算法是一种迭代算法,传说中的上帝算法,俗人可望不可及。用以含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计EM算法定义输入:观测变量数据X,隐变量数据Z,联合分布$P(X,Z|\th

    2021年12月30日
    56
  • python文件操作步骤_python打开文件的函数

    python文件操作步骤_python打开文件的函数文件操作文件操作主要包括对文件内容的读写操作,这些操作是通过文件对象实现的,通过文件对象可以读写文本文件和二进制文件open(file,mode='r',buffering=-

    2022年8月6日
    6
  • SQL可视化工具_可视化工具tableau

    SQL可视化工具_可视化工具tableauSQLite数据库的特性特点:1.轻量级2.独立性,没有依赖,无需安装3.隔离性全部在一个文件夹系统4.跨平台支持众多操作系统5.多语言接口支持众多编程语言6.安全性事物,通过独占性和共享

    2022年8月6日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号