为什么 @all 结果却是空的????

gegangqiao 2003-07-02 03:01:56
declare @orderno char(11)
declare @all char(8000)
declare @da char(8000)
select @da=''
select @all='aaa'

declare dd cursor for select orderno from fastorder
open dd
fetch next from dd into @orderno

while @@fetch_status<>-1
begin
select @all=@da+@orderno --orderno 的定义: orderno char(11)
select @da=@all
fetch next from dd into @orderno
end

close dd
deallocate dd

select @all
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-12-25
  • 打赏
  • 举报
回复
declare @orderno varchar(11)
declare @all varchar(8000)
declare @da varchar(8000)
gegangqiao 2003-12-25
  • 打赏
  • 举报
回复
以上均未能解决问题,为了方便,我改了一下,只要打开PUBS库就可以直接COPY进去测试。


declare @orderno char(20)
declare @all char(8000)
set @all='aa'

declare dd cursor for select au_lname from authors
open dd
fetch next from dd into @orderno

while @@fetch_status<>-1
begin

select @all=@all+case when isnull(@orderno,'')='' then ' ' else @orderno end

--select @all=@all+@orderno --orderno 的定义: orderno char(11)
fetch next from dd into @orderno
end

select @all 'all orderno'

close dd
deallocate dd
77zjh77 2003-07-02
  • 打赏
  • 举报
回复
select @all=@all+ case when @orderno=null then ' ' else @orderno end

修改成

select @all=@all+case when isnull(@orderno,'')='' then ' ' else @orderno end

CrazyFor 2003-07-02
  • 打赏
  • 举报
回复
declare @orderno varchar(11)
declare @all varchar(8000)
declare @da varchar(8000)
select @da=''
select @all='aaa'
..................
CrazyFor 2003-07-02
  • 打赏
  • 举报
回复
declare @orderno varchar(11)
declare @all varchar(8000)
declare @da varchar(8000)
select @da=''
select @all='aaa'
..................
gegangqiao 2003-07-02
  • 打赏
  • 举报
回复
没有,我改过来之后还是一样。
select @all=@all+case when @orderno=null then ' ' else @orderno end
@all 还是空的
wei9625 2003-07-02
  • 打赏
  • 举报
回复
orderno 有没有可能出现NULL值

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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