查询语法

查询表达式支持大部分的 SQL 查询语法

  1. where('字段名', '表达式', '查询条件');
  2. whereOr('字段名', '表达式', '查询条件');
  3. whereAnd('字段名', '表达式', '查询条件');

表达式

表达式不分大小写(推荐使用大写),支持的查询表达式有下面几种,分别表示的含义是:

表达式 别名 含义
= EQ 等于
<> NEQ 不等于
> GT 大于
>= EGT 大于等于
< LT 小于
<= ELT 小于等于
LIKE 模糊查询
NOT LIKE NOTLIKE 模糊查询
BETWEEN 区间查询
NOT BETWEEN NOTBETWEEN 不在区间
IN IN 查询
NOT IN NOTIN 不在 IN 查询
EXP 表达式查询,支持 SQL 语法

EQ(=),等于

例如:

  1. where('id', 'EQ', 100);
  2. where('id', '=', 100);

NEQ(<>),不等于

例如:

  1. where('id', 'NEQ', 100);
  2. where('id', '<>', 100);

表示的查询条件就是 id <> 100


GT(>),大于

例如:

  1. where('id', 'GT', 100);
  2. where('id', '>', 100);

表示的查询条件就是 id > 100


EGT(>=),大于等于

例如:

  1. where('id', 'EGT', 100);
  2. where('id', '>=', 100);

表示的查询条件就是 id >= 100


LT(<),小于

例如:

  1. where('id', 'LT', 100);
  2. where('id', '<', 100);

表示的查询条件就是 id < 100


ELT(<=),小于等于

例如:

  1. where('id', 'ELT', 100);
  2. where('id', '<=', 100);

表示的查询条件就是 id <= 100


[NOT] LIKE

例如:

  1. where('name', 'LIKE', 'baigo%');

查询条件就变成 name LIKE ‘baigo%’


[NOT] BETWEEN

查询条件支持字符串或者数组,例如:

  1. where('id', 'BETWEEN', array(1, 8));

查询条件就变成 id BETWEEN 1 AND 8


[NOT] IN

查询条件支持字符串或者数组,例如:

  1. where('id', 'NOT IN', array(1, 5, 8));

查询条件就变成 id NOT IN (1, 5, 8)


EXP,表达式

支持更复杂的查询情况 例如:

  1. where('id', 'IN', array(1, 3, 8));

可以改成:

  1. where('id', 'EXP', 'IN (1, 3, 8)');

EXP 查询的条件不会被当成字符串,所以后面的查询条件可以使用任何 SQL 支持的语法,包括使用函数和字段名称。