簡體   English   中英

用jooq選擇條件

[英]Selecting conditions with jooq

在SQL中,我可以執行類型的查詢:

SELECT cost > 1000 AS above_k, name FROM products;

給我一個清單:

+---------+--------+
| above_k | name   |
+---------+--------+
| true    | Gold   |
| false   | Silver |
+---------+--------+

如何使用jooq建模類似的查詢? 我不能這樣做(顯然):

ctx.select(Tables.PRODUCTS.COST.gt(1000))

因為,沒有方法select(Condition condition) 或者,如果我只是想:

SELECT cost*0.9 AS discounted_cost FROM products;

有沒有辦法用jooq做到這一點?

SQL 1:

SELECT cost > 1000 AS above_k, name 
FROM products;

jOOQ 1:

ctx.select(field(PRODUCTS.COST.gt(1000)).as("above_k"), PRODUCTS.NAME)
   .from(PRODUCTS)
   .fetch();

DSL.field(Condition)

SQL 2:

SELECT cost*0.9 AS discounted_cost 
FROM products;

jOOQ 2:

ctx.select(PRODUCTS.COST.mul(0.9).as("discounted_cost"))
   .from(PRODUCTS)
   .fetch();

請參見Field.mul(Number)Field.multiply(Number)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM