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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 创建ORACLE大文件表空间

    创建ORACLE大文件表空间目录创建普通表空间你可以创建多大的表空间?    创建bigfile表空间查看表空间的使用情况 创建普通表空间 表空间不够报错ORA-01144:Filesize(26214400blocks)exceedsmaximumof4194303blocks 你可以创建多大的表空间?     我们在前面提及,BFT还受到操作系统的文件…

  • docker 常用命令总结[通俗易懂]

    注意stop,restart后的容器,或者commit后的镜像启动环境变量需要重新加载,比如source/etc/source我们运行docker容器的时候,使用了-d参数,把容器在后台运行后。1.启动dockerdockerrun-d-i-t&lt;imageID&gt;/bin/bash上述命令执行某些命令回报错FailedtogetD-Busco…

  • Mysql错误1452 – Cannot add or update a child row: a foreign key constraint fails 原因及解决方法[通俗易懂]

    Mysql错误1452 – Cannot add or update a child row: a foreign key constraint fails 原因及解决方法[通俗易懂]报错的原因大概分为三种:原因一:添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同原因二:要添加外键的表类型与另一个表的存储引擎是不是都为innodb引擎#查看表引擎法一:showcreatetable表名;法二:showtablestatusfrom数据库wherename=‘表名’;法三:useinformation_schema;selec…

  • java环境变量_java环境变量

    java环境变量_java环境变量1.PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。2.CLASSPATH环境变量。…

  • 黑盒测试用例设计方法之因果图法

    黑盒测试用例设计方法之因果图法黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。(四)因果图法定义:因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。应用:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错…

  • SpringBoot自动装配原理(简单易懂)

    SpringBoot自动装配原理(简单易懂)1、什么是自动装配自动装配就是把别人(官方)写好的config配置类加载到spring容器,然后根据这个配置类生成一些项目需要的bean对象。(小声逼逼:就像我们自己在项目了写的config配置类一样的,只不过这个是别人写好的,你什么都不用管)2、自动装配的开关在哪里@SpringBootApplication|–@EnableAutoConfiguration|–@Import({AutoConfigurationImportSelector.class})在@Spri

发表回复

您的电子邮箱地址不会被公开。

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