при вызове этого кода
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 cast("fieldName" as varchar)
.
Проблема заключается в том, что в SQLServer приведение без информации о длине обрезает результат после 30 символов, что описано здесь. Это очень раздражает, потому что мои значения имеют длину более 30 символов. Итак, кто-нибудь знает, как я могу получить оператор выбора, который выглядит так select cast("fieldName" as varchar(255))
?