自定函数返回查询结果,只显示255个字符

jshang 2011-05-11 05:34:46
用函数返回查询结果时,查询的字符超过255个字符时,也只显示255个字符,其它的截断了。

create FUNCTION [pickStrCat03](@CenterId varchar(50),@storeid nvarchar(50),@PICK_BATCH_ID varchar(50))
RETURNS varchar(4000)
AS
BEGIN
declare @Str varchar(4000)
set @Str = ''
select @Str = @Str +isnull( [commodityid],' ')+','+ltrim(str(isnull( sum([quantity]),0)))+';'
from ORDERHISTORY
where [CenterId] = @CenterId and [SToREID]=@STOREID and [PICK_BATCH_ID]=@PICK_BATCH_ID
group by commodityid
return @Str

在工具-选项-结果 的设置里面将“每列最多字符数”设为2000了也不起作用。

谢谢!
...全文
89 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jshang 2011-05-14
  • 打赏
  • 举报
回复
自己顶
jshang 2011-05-13
  • 打赏
  • 举报
回复
用网格(即表格形式)显示查询结果,然后点击表格中的单元格,复制,粘贴到记事本上


记事本上就是255个。 在函数里用print就没有问题
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jshang 的回复:]
win2003 + SqlServer2005

在查询分析器里调用函数在表格内显示结果时,只显示255个。
[/Quote]

把输入改为文本方式呢?
-晴天 2011-05-12
  • 打赏
  • 举报
回复
用网格(即表格形式)显示查询结果,然后点击表格中的单元格,复制,粘贴到记事本上,你就可以看到查询得到的实际结果了.
jshang 2011-05-12
  • 打赏
  • 举报
回复
win2003 + SqlServer2005

在查询分析器里调用函数在表格内显示结果时,只显示255个。
快溜 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jshang 的回复:]
用 print 完全没有问题,能够全部显示出来。就是用 select 不行。
[/Quote]这个没关系,只是显示没出来,不影响你使用函数,调用的时候,数据照样会全部传给调用者。
nv531f 2011-05-11
  • 打赏
  • 举报
回复
你用的是2000?
jshang 2011-05-11
  • 打赏
  • 举报
回复
用 print 完全没有问题,能够全部显示出来。就是用 select 不行。
叶子 2011-05-11
  • 打赏
  • 举报
回复
你定义的是declare @Str varchar(4000),应该不会只返回255呀?
改个函数名,重新创建一个试试。
快溜 2011-05-11
  • 打赏
  • 举报
回复
print出来看看
guguda2008 2011-05-11
  • 打赏
  • 举报
回复
你用LEN()看看输出的字符串长度,如果不是很短的话,说明输出没问题,可以正常使用

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧