【问题标题】:Should I just disable UInteger type on JOOQ?我应该在 JOOQ 上禁用 UInteger 类型吗?
【发布时间】:2019-10-07 22:04:23
【问题描述】:

我一直在尝试编写一些查询(针对 MySQL),但我不确定如何编写这个涉及 Integer 和 UInteger 类型的特定查询:

DSL.position(T1.FIELD, ":", -1).eq(T2.UINTFIELD)

position 返回一个Field<Integer>,所以我不能简单地将这个结果与我的Field<UInteger> 进行比较。有没有简单的方法来实现它?我想保留正确的字段类型以供进一步验证。

【问题讨论】:

    标签: java sql jooq


    【解决方案1】:

    您可以为此使用DSL.cast()DSL.coerce()。我建议强制。

    • DSL.cast() 生成一个 SQL 强制转换表达式和一个所需类型的 jOOQ 字段引用
    • DSL.coerce() 不会影响生成的 SQL,但仍会生成所需类型的 jOOQ 文件引用。

    例如:

    position(T1.FIELD, ":", -1).eq(coerce(T2.UINTFIELD, SQLDataType.INTEGER))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-04
      • 1970-01-01
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 2010-12-15
      • 1970-01-01
      相关资源
      最近更新 更多