将截断字符串或二进制数据。是什么意思?查不出错来
DECLARE   caller_Cursor   CURSOR   FOR    
 		SELECT   hbid,caller   FROM   #haobai_all   where   owner=6   order   by   called,owner 
 		OPEN   caller_Cursor    
 declare   @id   int,   @caller   char(30) 
 		FETCH   NEXT   FROM   caller_Cursor   INTO   @id,@caller 
 		WHILE   @@FETCH_STATUS   =   0    
 		BEGIN   	 
 select   @caller=ltrim(rtrim(@caller)) 
 if(len(@caller)> 8)--------------------------就是这一行 
 select   @caller=substring(@caller,3,8)      
 insert   into   #haobai_detail   select   o.fax,   o.cname,   t.called,   t.owner,   0,   t.cduration,   t.cf   from   #haobai_all   t   INNER   JOIN   CONTAINNUM   c   ON   CONVERT(int,   @caller)   > =   c.BeginNo   AND   convert(int,@caller)    <=   c.EndNo   INNER   JOIN   offi   o   ON   c.offname   =   o.offinum   where   (t.hbid=@id)     
 FETCH   NEXT   FROM   caller_Cursor   INTO   @id,@caller 
 		END 
 		CLOSE   caller_Cursor 
 		DEALLOCATE   caller_Cursor      
 那句查询里的convert改成转化为bigint也不行,出同样的错。
------解决方案--------------------declare @id int, @caller char(30)   
 -->    
 declare @id int, @caller varchar(30)
------解决方案--------------------把@caller的长度设置大一点
------解决方案--------------------把@caller的长度设置大一点 
 tongyi
------解决方案--------------------有一个字段你设置的长度小于要插入数据的长度,检查一下,找出那个字段改大些。