при извикване на този код
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 знака, което е описано тук. Това е много неприятно, защото стойностите ми са с повече от 30 знака. Така че някой има ли идея как мога да получа оператор за избор, който изглежда така select cast("fieldName" as varchar(255))
?