我自定义一函数代码如下:
CREATE function getstr(@content varchar(100),@a varchar(100))
returns varchar(2000)
as
begin
declare @str varchar(2000)
declare @str1 varchar(2000)
set @str=''
select @str=ltrim(rtrim(@str+','+ltrim(ltrim(pkg))))--cast(ltrim(ltrim(pkg)) as varchar(10))
from BackInStoreDetailYut where sppono=ltrim(rtrim(@content)) and scrmproductno=ltrim(rtrim(@a))
set @str=right(ltrim(rtrim(@str)),len(@str)-1)
return @str
end
现在的问题是@str只能返回255个字符,我的字符数可能会3,4千个。请搞手帮忙
CREATE function getstr(@content varchar(100),@a varchar(100))
returns varchar(2000)
as
begin
declare @str varchar(2000)
declare @str1 varchar(2000)
set @str=''
select @str=ltrim(rtrim(@str+','+ltrim(ltrim(pkg))))--cast(ltrim(ltrim(pkg)) as varchar(10))
from BackInStoreDetailYut where sppono=ltrim(rtrim(@content)) and scrmproductno=ltrim(rtrim(@a))
set @str=right(ltrim(rtrim(@str)),len(@str)-1)
return @str
end
现在的问题是@str只能返回255个字符,我的字符数可能会3,4千个。请搞手帮忙
应该没问题
用nvarchar()试试
我试验过了create function getstr(@content varchar(100),@a varchar(100))
returns varchar(2000)
as
begin
declare @str varchar(2000)
declare @str1 varchar(2000)
declare @i int
set @i=1
set @str = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
while @i <20
begin
set @str=@str+@str
set @i=@i+1
end
return @str
end测试程序
declare @a varchar(2000)
set @a=dbo.getstr('a','b')
select len(@a)
难道是这条语句的问题?
select @str=ltrim(rtrim(@str+','+ltrim(ltrim(pkg))
from BackInStoreDetailYut where sppono=ltrim(rtrim(@content)) and scrmproductno=ltrim(rtrim(@a))
得到全部的字符串,用ado吧