sql-server – 为什么在没有指定长度的情况下将文本转换为varchar会将文本截断为30个字符?

我正在搜索MS-SQL Server 2005数据库,以确保某个文本字段始终是8的倍数.当我运行以下查询时,我得到了几行长度为30.但是当我调查这些记录时,我发现它们比那些长.

select distinct len(cast(textfield as varchar)) from tablename

但是,如果我将varchar的长度指定为更长的时间(如下面的查询中所示),则它可以正常工作.

select distinct len(cast(textfield as varchar(1000))) from tablename

任何人都知道它为什么默认为30,如果这是一个可配置的设置?

相关文章
相关标签/搜索