Change in truncation behavior

Versions of Adaptive Server earlier than 12.5 had a column-length limit of 255 bytes. Adaptive Server allows you to create columns using char, varchar, binary, and varbinary data up to 16294 bytes long, depending on the logical page size your server uses. Because of this, data that was truncated at 255 characters for earlier versions is no longer truncated. If your application depended on this truncation, the result set it receives may no longer be accurate. In the following example, col1 and col2 are each 200 characters long, and col3 is 255 characters long:

select * from t1 where col1 + col2 = col3

If col1 and col2 each hold 200 characters, their concatenation results in a 400-character string. Earlier versions of Adaptive Server truncate this to 255 characters, and the sum of col1 and col2 might match col3. However, for the 12.5 release of Adaptive Server, the product of col1 and col2 is 400 characters, and will never match a col3 that is 255 characters long.

Character and binary expressions can produce a result up to 16384 bytes long. Data that is longer than this is truncated.