convert from text to varchar有默认值=30

在sybase环境 select CHAR_LENGTH(convert(varchar, someTextType)) from someTable
server return 30
sybase中如果不指定convert(varchar(n), sometextType) 那么n默认值是30,今天就吃了这苦头,发贴记下来
在where中如果么比较sometext 和varchar字段相等记住n一定么显示声明,n的大小是target column的varchar(n)
否则convert的最大长度只会是30

Sybase UserGuide 原文如下
引用
Converting from one character type to another
When you convert from a multibyte character set to a single-byte character set,characters with no single-byte equivalent are converted to blanks.text columns can be explicitly converted to char, nchar, unichar, varchar,univarchar, or varchar. You are limited to the maximum length of the character datatypes, pagesize. If you do not specify the length, the converted value has a default length of 30 bytes.

你可能感兴趣的:(Sybase)