比较谓词
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
在 SQL 中,比较谓词使用常见的比较运算符构成
- = 用于测试相等性
- <> 或 != 用于测试不相等性
- > 用于测试严格大于
- >= 用于测试大于或等于
- < 用于测试严格小于
- <= 用于测试小于或等于
不幸的是,Java 不支持运算符重载,因此这些运算符也在 jOOQ 中实现为方法,就像任何其他 SQL 语法元素一样。 org.jooq.Field
接口的相关部分如下
eq or equal(T); // = (some bind value) eq or equal(Field<T>); // = (some column expression) eq or equal(Select<? extends Record1<T>>); // = (some scalar SELECT statement) ne or notEqual(T); // <> (some bind value) ne or notEqual(Field<T>); // <> (some column expression) ne or notEqual(Select<? extends Record1<T>>); // <> (some scalar SELECT statement) lt or lessThan(T); // < (some bind value) lt or lessThan(Field<T>); // < (some column expression) lt or lessThan(Select<? extends Record1<T>>); // < (some scalar SELECT statement) le or lessOrEqual(T); // <= (some bind value) le or lessOrEqual(Field<T>); // <= (some column expression) le or lessOrEqual(Select<? extends Record1<T>>); // <= (some scalar SELECT statement) gt or greaterThan(T); // > (some bind value) gt or greaterThan(Field<T>); // > (some column expression) gt or greaterThan(Select<? extends Record1<T>>); // > (some scalar SELECT statement) ge or greaterOrEqual(T); // >= (some bind value) ge or greaterOrEqual(Field<T>); // >= (some column expression) ge or greaterOrEqual(Select<? extends Record1<T>>); // >= (some scalar SELECT statement)
请注意,每个运算符都由两个方法表示。一个冗长的方法(例如 equal()
)和一个双字符的方法(例如 eq()
)。这两种方法是相同的。您可以根据自己的喜好选择任何一种。本手册将始终使用更冗长的方法。
jOOQ 使用比较运算符的便捷方法
除了上述内容外,jOOQ 还提供了一些便捷方法,用于使用比较谓词对字符串执行常见操作
LOWER(TITLE) = LOWER('animal farm')
BOOK.TITLE.equalIgnoreCase("animal farm")
反馈
您对此页面有任何反馈吗? 我们很乐意听到您的反馈!