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)
上一篇 2022年1月23日 下午3:00
下一篇 2022年1月23日 下午3:00


相关推荐

  • Nano Banana AI模型火爆全网,DeepSider插件实现免费无限次使用教程

    Nano Banana AI模型火爆全网,DeepSider插件实现免费无限次使用教程

    2026年3月13日
    2
  • 解决80端口被占用

    解决80端口被占用我是在使用 natapp 穿透外完工具时 端口必须是 80 但是启动 tomcat 之后发现端口被占用 1 系统占用系统管理员账号使用 cmd 输入命令 netstat ano 查看所有的进程找到占用 80 端口号的 pid 到服务中结束该 pid 的进程 2 apache 占用端口停止它的服务 3 java 应用程序占用结束所有 Java 进程说在最后的话 编写实属不易 若喜欢或者对你有帮助记得点赞

    2026年3月18日
    2
  • Java 8系列之Stream的基本语法详解

    Java 8系列之Stream的基本语法详解本文转至:https://blog.csdn.net/io_field/article/details/54971761概述Stream是用函数式编程方式在集合类上进行复杂操作的工具,其集成了J

    2022年8月6日
    7
  • mybatis code helper pro 2.9 激活[最新免费获取]

    (mybatis code helper pro 2.9 激活)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    1.3K
  • Druid介绍及入门[通俗易懂]

    Druid介绍及入门[通俗易懂]1.什么是Druid?Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到Druid后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。Druid采用的架构: shared-nothing架构与lambda架构 Druid设计三个原则:1.快速查询(FastQu…

    2022年7月23日
    10
  • ps 命令详解

    ps 命令详解From http blog chinaunix net uid 25681671 id 3201927 html 进程和作业管理命令 http man linuxde net sub 进程和作业管理 Linux 关于进程 线程的命令 kill 和 pgrep 和 pidof 和 awk 和 pkill 和 killall https blog csdn net freeki

    2026年3月20日
    3

发表回复

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

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