首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于output的长度有关问题

2012-01-22 
关于output的长度问题在存储过程中定义了一个output参数@temp为varchar(max)但是在测试时候发现返回的长度

关于output的长度问题
在存储过程中定义了一个output参数@temp为varchar(max)
但是在测试时候发现返回的长度始终为131072
请问这是为什么?
当然,在存储过程中涉及到@temp的运算都已经cast为varchar(max)了~

[解决办法]
跟踪调试一下
[解决办法]
为什么不使用Text类型作为输入参数类型呢.
[解决办法]
varchar(max)最大的长度为8000
[解决办法]
varchar(max)可以达到2G。
[解决办法]
Microsoft SQL Server 2005 中引入了 max 说明符。此说明符增强了 varchar、nvarchar 和 varbinary 数据类型的存储能力。varchar(max)、nvarchar(max) 和 varbinary(max) 统称为大值数据类型。您可以使用大值数据类型来存储最大为 2^31-1 个字节的数据。
[解决办法]
和那个没关系。。。。。
有多长就返回多长~~~为什么你觉得不应该是那个长度呢??
declare @a varchar(max)
set @a=replicate(cast( 'a ' as varchar(max)),10000)
select len(@a)
[解决办法]
都是网上找的例子~~LZ提问前应该去搜搜。。。。
[解决办法]
create table p_ww
@a varchar(max) output
as
set @a=replicate(cast( 'a ' as varchar(max)),231072)

declare @a varchar(max)
exec p_ww @a output
print len(@a)

--我没2005~

热点排行