内置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 {}