在 SQL Server 2005 中此查询
select len(cast('the quick brown fox jumped over the lazy dog' as varchar))
当提供的字符串有更多字符时,返回 30 作为长度。这似乎是默认的。为什么是 30,而不是 32 或任何其他 2 的幂?
[EDIT]我知道在转换为 varchar 时我应该始终指定长度,但这是一个快速的让我们检查某些内容的查询。问题仍然存在,为什么是 30?
为什么不指定 varchar 长度? IE:
SELECT CAST('the quick brown fox jumped over the lazy dog' AS VARCHAR(45))
至于为什么是 30,这是 SQL Server 中该类型的默认长度。
From char 和 varchar (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms176089.aspx:
当数据定义或变量声明语句中未指定n时,默认长度为1。当使用CAST和CONVERT函数时未指定n时,默认长度为30。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)