查询语法
查询表达式支持大部分的 SQL 查询语法
where('字段名', '表达式', '查询条件');
whereOr('字段名', '表达式', '查询条件');
whereAnd('字段名', '表达式', '查询条件');
表达式
表达式不分大小写(推荐使用大写),支持的查询表达式有下面几种,分别表示的含义是:
表达式 | 别名 | 含义 |
---|---|---|
= | EQ | 等于 |
<> | NEQ | 不等于 |
> | GT | 大于 |
>= | EGT | 大于等于 |
< | LT | 小于 |
<= | ELT | 小于等于 |
LIKE | 模糊查询 | |
NOT LIKE | NOTLIKE | 模糊查询 |
BETWEEN | 区间查询 | |
NOT BETWEEN | NOTBETWEEN | 不在区间 |
IN | IN 查询 | |
NOT IN | NOTIN | 不在 IN 查询 |
EXP | 表达式查询,支持 SQL 语法 |
EQ(=),等于
例如:
where('id', 'EQ', 100);
where('id', '=', 100);
NEQ(<>),不等于
例如:
where('id', 'NEQ', 100);
where('id', '<>', 100);
表示的查询条件就是 id <> 100
GT(>),大于
例如:
where('id', 'GT', 100);
where('id', '>', 100);
表示的查询条件就是 id > 100
EGT(>=),大于等于
例如:
where('id', 'EGT', 100);
where('id', '>=', 100);
表示的查询条件就是 id >= 100
LT(<),小于
例如:
where('id', 'LT', 100);
where('id', '<', 100);
表示的查询条件就是 id < 100
ELT(<=),小于等于
例如:
where('id', 'ELT', 100);
where('id', '<=', 100);
表示的查询条件就是 id <= 100
[NOT] LIKE
例如:
where('name', 'LIKE', 'baigo%');
查询条件就变成 name LIKE ‘baigo%’
[NOT] BETWEEN
查询条件支持字符串或者数组,例如:
where('id', 'BETWEEN', array(1, 8));
查询条件就变成 id BETWEEN 1 AND 8
[NOT] IN
查询条件支持字符串或者数组,例如:
where('id', 'NOT IN', array(1, 5, 8));
查询条件就变成 id NOT IN (1, 5, 8)
EXP,表达式
支持更复杂的查询情况 例如:
where('id', 'IN', array(1, 3, 8));
可以改成:
where('id', 'EXP', 'IN (1, 3, 8)');
EXP 查询的条件不会被当成字符串,所以后面的查询条件可以使用任何 SQL 支持的语法,包括使用函数和字段名称。