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
ThinkPHP运算符 与 SQL运算符 对比表的更多相关文章
- SQL运算符
SQL运算符实例代码教程 - 运算符是一个保留字或字符,主要用于在SQL语句的WHERE子句来执行,比较和算术运算等操作. http://www.yiibai.com/sql/sql_operato ...
- (四)PL/SQL运算符
运算符是一个符号,告诉编译器执行特定的数学或逻辑操作. PL/SQL语言有丰富的内置运算符,运算符提供的以下几种类型: 1.算术运算符 2.关系运算符 3.比较运算符 4.逻辑运算符 5.字符串运算符 ...
- ThinkPHP运算符与PHP运算符对照表
ThinkPHP运算符与PHP运算符对照表 ThinkPHP标签 说明及对应PHP标签 备注 eq 等于(=)(==:用于模板判断时) 可用于查询条件与模板判断 neq 不等于(!=) 可用于查询条件 ...
- [SQL基础教程] 2-2 算数运算符和比较运算符
[SQL基础教程] 2-2 算数运算符和比较运算符 算数运算符 四则运算 运算符 含义 + - * / SELECT col_1*2 AS col_new FROM table; 注意 所有包含NUL ...
- SQL Server数据类型int、bigint、smallint、tinyint对比表
SQL Server数据类型int.bigint.smallint.tinyint对比表 数据类型 范围 存储 bigint -2^63 (-9,223,372,036,854,775,808) 到 ...
- SQL基础教程(第2版)第2章 查询基础:2-2 算数运算符和比较运算符&2-3 逻辑运算符
● 包含NULL的运算,其结果也是NULL. ● 判断是否为NULL,需要使用IS NULL或者IS NOT NULL运算符. ■算术运算符 ■需要注意NULL ■比较运算符 这些比较运算符可以对字符 ...
- SQL 多个表之间联合查询
非常少用join,这次学学,并备忘两篇文章! 转自:http://hcx-2008.javaeye.com/blog/285661 连接查询 通过连接运算符能够实现多个表查询.连接是关系数据库模型的主 ...
- shell之算数运算符、逻辑运算符、关系运算符、布尔运算符、文件测试运算符
注意事项: (1)bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用: (2)完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Es ...
- ORACLE数据库对比表结构
有时候会有某种需求:需要对比两个表的表结构是否一致,有时候甚至是整个数据库所有表的表结构对比.......表结构对比无非就是字段名.字段类型.字段数据类型.以及字段的顺序的对比.如果需要对比表结构,可 ...
随机推荐
- 嵌入式:使用dd命令制作烧写文件
1. 使用dd命令制作烧写文件 环境: bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtd ...
- 算法之旅,直奔<algorithm>之十 count_if
count_if(vs2010) 引言 这是我学习总结<algorithm>的第十篇,这个重要的地方是设置条件.用的还是蛮多的.(今天下午挺恶心的,一下午就做一个面试题,调代码调傻了... ...
- Installation and Configuration MySQL Cluster 7.2 on CentOS 5 (include MySQL 5.5)
Architecture Manager Node mysql-mag1 192.168.1.31 mysql-mag2 192.168.1.32 SQL Node mysql-sql1 ...
- 闲扯 Javascript 04 滚动条
物体运动基础 让Div移动起来 offsetLeft的作用 用定时器让物体连续移动 效果原理 让ul一直向左移动 复制li innerHTML和+= 修改ul的width 滚动过界后,重设位置 判断过 ...
- SDK Hello world(直接使用SDK封装)
前言 将代码拆分了一下, 如果处理更多的消息也不怕看的眼花 SDK编程就是对各种Windows消息的处理 实验工程 /// @file exam_1.cpp /// @brief 查阅本地MSDN, ...
- ie6背景透明的设置方法 ie6背景颜色透明和png图像透明解决方法
IE6浏览器,让我们又爱又恨.爱它的是,可以让我们写的代码的时候,可以更标准,恨的是,它有太多无厘头的IE6常见bug(详情点击),让我们焦头烂额.现在现在用百度浏览器调查,国内占有率不到6%了,但是 ...
- 基于visual Studio2013解决C语言竞赛题之1008整除数
题目 解决代码及点评 /************************************************************************/ ...
- 西门子PLC学习笔记七-(位逻辑指令)
位逻辑指令处理的对象为二进制位信号.存储在状态字"RLO"中. 1.触点与线圈指令 1)常开触点 在PLC中规定:操作数为1,则常开触点"动作(闭合)":操作数 ...
- PHP - 接口 - 单一接口
/* * 接口的使用 */ //定义接口 interface IPerosn{ public function eat(); public function water(); } //定义继承自接口的 ...
- wcf 出现 IsContentTypeSupported 错误
查看添加的服务地址是不是https开头的,而 *.config 文件里面自动添加的链接变成了http,当前的bindbing类型为basicHttpBinding, 解决方法:在config文件里面手 ...