在SQL中,我可以执行类型的查询:
SELECT cost > 1000 AS above_k, name FROM products;
Run Code Online (Sandbox Code Playgroud)
给我一个清单:
+---------+--------+
| above_k | name |
+---------+--------+
| true | Gold |
| false | Silver |
+---------+--------+
Run Code Online (Sandbox Code Playgroud)
如何使用jooq?建模类似的查询?我不能这样做(显然):
ctx.select(Tables.PRODUCTS.COST.gt(1000))
Run Code Online (Sandbox Code Playgroud)
既然,没有方法select(Condition condition).或者,如果我只是想:
SELECT cost*0.9 AS discounted_cost FROM products;
Run Code Online (Sandbox Code Playgroud)
有没有办法用jooq做到这一点?
SELECT cost > 1000 AS above_k, name
FROM products;
Run Code Online (Sandbox Code Playgroud)
ctx.select(field(PRODUCTS.COST.gt(1000)).as("above_k"), PRODUCTS.NAME)
.from(PRODUCTS)
.fetch();
Run Code Online (Sandbox Code Playgroud)
SELECT cost*0.9 AS discounted_cost
FROM products;
Run Code Online (Sandbox Code Playgroud)
ctx.select(PRODUCTS.COST.mul(0.9).as("discounted_cost"))
.from(PRODUCTS)
.fetch();
Run Code Online (Sandbox Code Playgroud)
见Field.mul(Number)或Field.multiply(Number)