Skip to content

内置SQL操作符

操作符一般所有数据库都支持,但huiche支持的操作符有限,只有常见的, 如果需要,你可以自定义,参考自定义SQL

LIKE模式匹配

所有Expression可直接.like()调用,同时支持notLike(), 实际SQL为{} LIKE {}{} NOT LIKE {}

另外进行了扩展,添加了.startWith(),.endWith(),.contains(),.notStartWith(),.notEndWith(),.notContains 等操作, 实际根据方法不同,动态在匹配字符串的前/后增加%

取负(-)

需要Sql.negative()调用, huiche没有内置支持+取正,几乎没有场景需要

相加

所有Expression可直接.plus()调用, 实际SQL为{} + {}, 部分数据库支持使用其进行字符串拼接,但是建议还是使用Sql.concat()

相减

所有Expression可直接.minus()调用, 实际SQL为{} - {}

相乘

所有Expression可直接.mul()调用, 实际SQL为{} * {}

相除

所有Expression可直接.div()调用, 实际SQL为{} / {}

取余

huiche没有直接支持%操作符,请使用函数Sql.mod()

大于

所有Expression可直接.gt()调用, 实际SQL为{} > {}

大于等于

所有Expression可直接.gte()调用, 实际SQL为{} >= {}

小于

所有Expression可直接.lt()调用, 实际SQL为{} < {}

小于等于

所有Expression可直接.lte()调用, 实际SQL为{} <= {}

不等于

所有Expression可直接.ne()调用, 实际SQL为{} <> {}

等于

所有Expression可直接.eq()调用, 实际SQL为{} = {}

BETWEEN AND

所有Expression可直接.between(),.betweenAnd(),.notBetween(),.notBetweenAnd()调用, 实际SQL为{} BETWEEN {} AND {}{} NOT BETWEEN {} AND {}

是否空判断

所有Expression可直接.isNull(),.isNotNull()调用, 实际SQL为{} IS NULL{} IS NOT NULL

IN

所有Expression可直接.in(),.notIn()调用, 实际SQL为{} IN ({}){} NOT IN ({}), 第二个{} 为可变参数,且支持传入Select语句,当作子查询

EXISTS

Sql.exists(),Sql.notExists()调用, 实际SQL为EXISTS ({})NOT EXISTS ({}),{}只支持传入Select语句

NOT

Sql.not()调用,实际SQL为NOT {}

AND

所有Expression可直接.and()调用, 实际SQL为{} AND {}

OR

所有Expression可直接.or()调用, 实际SQL为{} OR {}