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数据库对比表结构
有时候会有某种需求:需要对比两个表的表结构是否一致,有时候甚至是整个数据库所有表的表结构对比.......表结构对比无非就是字段名.字段类型.字段数据类型.以及字段的顺序的对比.如果需要对比表结构,可 ...
随机推荐
- iOS-响应上下左右滑动手势
-(void)viewDidLoad{ UISwipeGestureRecognizer *recognizer; recognizer = [[UISwipeGestureRecognizer al ...
- Python字符串原理剖析------万恶的+号
字符串原理剖析pyc文件,执行python代码时,如果导入了其他的.py文件,那么执行过程中会自动生成一个与其同名的.pyc文件,该文件就是python解释器变异之后产生的字节码 PS:代码经过编译可 ...
- android ADT 设置编辑字体
新配置的android ADT 设置编辑字体的时候 可能里面没有我们想要的Courier new 这种舒服的字体 那么就在 字体选项窗口的 做下端 有个显示更多字体的链接 然后就显示微软的所有字 ...
- Action的返回值类型总结
Action的返回值 MVC 中的 ActionResult是其他所有Action返回类型的基类,下面是我总结的返回类型,以相应的帮助方法: 下面是这些方法使用的更详细的例子 一.返回View ...
- 图示CCScrollView的相关概念
(转载请注明原文地址:http://blog.csdn.net/while0/article/details/11527899) 见下图: 1)设置ScrollView的视口大小的函数是:setVie ...
- C++-struct类的新特性当class用
#include <iostream> #include <iomanip> #include <string> using namespace std; stru ...
- Delphi反射
最近在写一个框架,需要用到反射,与C# java这些原生支持反射的语言不同,delphi对反射的支持相对要弱一些,但也够用了,其实C#的大部分的思想还是从 delphi而来,毕竟都是安德鲁斯的杰作. ...
- [cocos2d-x]HelloWorldDemo
实现一个demo,具备以下功能: 1.让几个字分别位于中间和四个角落. 2.中间的字体改变,并且带有闪烁功能. 3.单点触摸和多点触摸,并且能够实现滑动效果,滑动的话必须使用带有bool返回值的单点触 ...
- Ubuntu下安装ADT(图文教程)
个人感觉Ubuntu下安装ADT跟在Windows大同小异 一.装上JDK和Eclipse 如果还没有装上的,请参考我前面的博文: http://blog.csdn.net/ljphhj/articl ...
- java反射小样例
package reflect; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExc ...