cncml手绘网
标题:
where查询表达式
[打印本页]
作者:
admin
时间:
2018-9-14 13:13
标题:
where查询表达式
b、表达式查询
4 q: q: W/ i ?' v; i
表达式 含义
# a; U% |& W I5 S: a/ U7 \
EQ 等于(=)
9 `+ z+ _8 x+ o4 J% g
NEQ 不等于(<>)
7 c% e; [. u; }
GT 大于(>)
4 C6 z! `/ h. U5 c( W+ H
EGT 大于等于(>=)
% W. q/ R2 f9 o' A& m, F! L) a/ b
LT 小于(<)
7 k" F- Q3 P' {
ELT 小于等于(<=)
8 q5 e A6 e, v4 r
LIKE 模糊查询
8 [5 J3 f& z; R& q2 N, [
[NOT] BETWEEN (不在)区间查询
( @ p7 E0 s K5 l
[NOT] IN (不在)IN 查询
4 A4 e% U. H0 f& \& c+ m
EXP 表达式查询,支持SQL语法
" T: V2 n) P2 M& w* p7 L
. y! ]% d I2 Z$ s5 b
; ~4 k! D8 ~) s- F' M- z
$where['status'] = array("eq",0);//字段就是数组的下标,值就是对应的条件
! w& O {: j: S, Y, \% [9 K0 ~
M("User")->where($where)->select();//查询status为0的记录
3 `9 P; A- W; @5 V! V4 |* Q- ~
4 a9 M$ R/ n* C& }% B
3、where方法数组查询例子
1 P1 }+ v$ b8 [' E
1、如何使用数组实现同一字段多个条件?比如,查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录。
9 }& }9 N. i1 }1 `
$where['createdate'] = array(array('EGT',"2016-04-20"),array('ELT',"2016-04-23"));//使用一个二维数组就可以解决同一字段多个条件
9 |- H/ @: f+ s- Y. C3 L- f
M("User")->where($where)->select();//查询createdate大于等于2016年4月20日并且小于等于2016年4月23日的记录
4 W; Q' u/ \0 g/ ^( f9 P
7 e7 g4 V- S4 ~
2、数组查询使用OR查询?比如,查询status等于0或者1的记录。
( f# A* T) R$ b& r/ f3 N$ \
$where['status'] = array(array('EQ',"0"),array('EQ',"1"),"OR");//使用一个二维数组就可以解决同一字段多个条件
9 n: z6 E: k+ M8 c
M("User")->where($where)->select();//查询status等于0或者1的记录
! [3 F1 R8 F. y
8 q1 x8 m) Z" O( R
3、多个条件里既有AND又有OR的数组查询?比如,查询createdate小于等于2016年4月20日并且status为1或者level为0的记录。
" B5 Y5 z) ?/ A. [) H) i$ j
$where['createdate'] = array('EGT',"2016-04-20");
9 b3 k+ C" v5 H
$where['status'] = '1';
0 H$ s( H: R1 r6 v* i) k3 f
$condition['_logic'] = "AND";
% l" u5 m* w+ l+ e
$map['_complex']=$where;
: z/ r) ^$ V2 m+ @# {* F6 N3 O
$map['level']='0';
: V0 y& f7 E; ]% m) O3 n' n, [* [
$map['_logic']='OR';
6 J3 q$ W7 y' q: a4 N
M("User")->where($map)->select();//查询createdate小于等于2016年4月20日并且status为1或者level为0的记录
4 _6 m6 i' ^& I7 k* y
欢迎光临 cncml手绘网 (http://bbs.cncml.com/)
Powered by Discuz! X3.2