【发布时间】:2015-07-30 04:10:40
【问题描述】:
调用此代码时
DSLContext dslContext = DSL.using(SQLDialect.SQLSERVER);
dslContext.select(DSL.cast(field, SQLDataType.VARCHAR.length(255)));
select 语句去掉了varchar 长度的信息。
DSL.cast() 方法返回cast("fieldName" as varchar(255)),select 返回select cast("fieldName" as varchar)。
问题在于,在 SQLServer 中,没有长度信息的强制转换会在 30 个字符后切割结果,这被描述为here。这很烦人,因为我的值超过 30 个字符。那么有没有人知道我如何获得一个看起来像这样select cast("fieldName" as varchar(255)) 的选择语句?
【问题讨论】:
-
你使用的是什么 jOOQ 版本?
-
我正在使用 jooq-codegen-maven 3.0.0。
标签: sql sql-server casting varchar jooq