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数据库对比表结构
有时候会有某种需求:需要对比两个表的表结构是否一致,有时候甚至是整个数据库所有表的表结构对比.......表结构对比无非就是字段名.字段类型.字段数据类型.以及字段的顺序的对比.如果需要对比表结构,可 ...
随机推荐
- 将EC2里的实例导出到RAW文件并进行修改
你可能有自己的instance在amazon云环境里面,或者是你想深度修改一下marketplace里面提供的那些系统又估计运行中的instance改动不方便 亚马逊作为云计算领域的大哥大,我不得不说 ...
- iOS开发网络数据之AFNetworking使用1
链接地址:http://blog.csdn.net/daiyelang/article/details/38421341 如何选择AFNetworking版本 官网下载2.5版本:http://afn ...
- 05-OC多态
目录: 一.继承的缺陷 二.为什么使用继承 三.组合和聚合 四.多态 回到顶部 一.继承的缺陷 1 提高了程序的复杂度,维护性和扩展性低 2 破坏了类的封装性 回到顶部 二.为什么使用继承 1 代码复 ...
- Gradle的简介与安装
Gradle介绍 Gradle是一个基于JVM的构建工具,它提供了: 像Ant一样,通用灵活的构建工具 可以切换的,基于约定的构建框架 强大的多工程构建支持 基于Apache Ivy的强大的依赖管理 ...
- 9天快速入门java
Java入门教程[9天快速入门JAVA] §1.3.简单的Java程序 下面我们先介绍两个简单的Java程序,并对其进行分析. 例1.1. public class HelloWorldApp{//a ...
- C#的事件处理机制
链接地址:http://blog.csdn.net/niuox/article/details/7527876 在以往的关于事件处理的程序中,我们更多的是采用一种循环等待的方式,即为了检测某个事件是否 ...
- BZOJ 3446: [Usaco2014 Feb]Cow Decathlon( 状压dp )
水状压dp. dp(x, s) = max{ dp( x - 1, s - {h} ) } + 奖励(假如拿到的) (h∈s). 时间复杂度O(n * 2^n) ------------------- ...
- [置顶] cocos2d-x 3.0游戏开发xcode5帅印博客教学 003.[HoldTail]游戏世界以及背景画面
cocos2d-x 3.0游戏开发xcode5帅印博客教学 003.[HoldTail]游戏世界以及背景画面 写给大家的前言,在学习cocos2d-x的时候自己走了很多的弯路,也遇到了很多很多问题,不 ...
- SilkTest Q&A 13
Q121 :我想要测试 windows2003 上的 remote 应用,但是每次都得到如下的错误 我想要测试 windows2003 上的 remote 应用,但是每次都得到如下的错误: " ...
- QUrl不同版本之间的坑
在项目中使用了native application + html的方式构建界面. 之前在4.8.4用QUrl直接加载相对路径一点问题都没有.但是切换到5.1编译之后却发现本地的html文件全部没有加载 ...