-- 测试一 varchar(10)
declare @str1 varchar(4001)
declare @str2 varchar(4001)
select @str1 = replicate( '1',4001)
select @str2 = replicate( '2',4001)
--最大长度,其余截断
select len(@str1 + @str2)
--结果8000
-- 测试二 varchar(max)
declare @str1 varchar(4050)
declare @str2 varchar(4050)
select @str1 = replicate( '1',4050)
select @str2 = replicate( '2',4051)
select len(convert(varchar(max),@str1)+@str2)
select len(cast(@str1 as varchar(max))+@str2)
--结果8100
-- 测试三
declare @str1 varchar(max)
select @str1 = replicate('1',8006)
--字符最长为8000
select len(@str1)
--结果8000
本文来自: 中国自学编程网(www.zxbc.cn) 详细出处参考:http://www.zxbc.cn/html/SQLServer/1516204171953.html
declare @str1 varchar(4001)
declare @str2 varchar(4001)
select @str1 = replicate( '1',4001)
select @str2 = replicate( '2',4001)
--最大长度,其余截断
select len(@str1 + @str2)
--结果8000
-- 测试二 varchar(max)
declare @str1 varchar(4050)
declare @str2 varchar(4050)
select @str1 = replicate( '1',4050)
select @str2 = replicate( '2',4051)
select len(convert(varchar(max),@str1)+@str2)
select len(cast(@str1 as varchar(max))+@str2)
--结果8100
-- 测试三
declare @str1 varchar(max)
select @str1 = replicate('1',8006)
--字符最长为8000
select len(@str1)
--结果8000
本文来自: 中国自学编程网(www.zxbc.cn) 详细出处参考:http://www.zxbc.cn/html/SQLServer/1516204171953.html