使用 Jooq 在数值基础上按 varchar 字段(具有数值)对查询进行排序
Posted
技术标签:
【中文标题】使用 Jooq 在数值基础上按 varchar 字段(具有数值)对查询进行排序【英文标题】:Sort a query by a varchar field(which have numerical values) on numerical basis with Jooq 【发布时间】:2011-08-12 02:46:49 【问题描述】:如何对 varchar 字段进行排序,我已将 ID 设为 varchar,我想对其进行数字排序。
我们可以在 SQL 中使用
sql query ... order by 0+id desc
我在 Jooq 中拥有的是
SimpleSelectFinalStep<ScoreCardRecord> q = factory.selectFrom(ScoreCard.SCORE_CARD)
.orderBy(OloScoreCard.SCORE_CARD_ID.descending())
.limit(0,1);
【问题讨论】:
我想通了... SimpleSelectFinalStep您是否尝试将VARCHAR
字段转换为数字DataType
?你可以这样做:
factory.selectFrom(ScoreCard.SCORE_CARD)
.orderBy(OloScoreCard.SCORE_CARD_ID.cast(Integer.class).descending())
.limit(0, 1);
这样你就可以省略使用“普通 SQL 字段”
【讨论】:
以上是关于使用 Jooq 在数值基础上按 varchar 字段(具有数值)对查询进行排序的主要内容,如果未能解决你的问题,请参考以下文章