When you assign a string to a field with an insufficient length, ASE truncates the string, but MS SQL Server raises an error. However, when you assign a string to a variable with an insufficient length, both systems truncate the value.
Example
create table T (c varchar(2))
insert into T values ('123')
select * from T
drop table T