求助:分行
以下是某sql语句的查询结果:   
 字段1      字段2      字段3 
 1                     a                  111111111111111111111111111111111 
 2                     g                  22222 
 3                     k                  77777777777777777777777777777777777777777 
 ..                  ..               .......     
 为方便打印                                          
 字段1      字段2      字段3 
 1                     a                  111111111111 
                                              111111111111111111111 
 2                     g                  22222 
 3                     k                  77777777777777777777 
                                              777777777777777777777 
 ..                  ..               .......     
 谢谢!             
------解决方案--------------------create table test(id int,col1 varchar(20),col2 varchar(100)) 
 insert test select 1, 'a ', '111111111111111111111111111111111 ' 
 union all select 2, 'g ', '22222 ' 
 union all select 3, 'k ', '77777777777777777777777777777777777777777 ' 
 go   
 DECLARE @s varchar(2000) 
 DECLARE @id int,@col1 varchar(20),@col2 varchar(100) 
 SET @s= 'SELECT  ' 
 DECLARE cur CURSOR FOR 
 SELECT id,col1,col2 FROM test 
 OPEN cur 
 FETCH NEXT FROM cur 
 INTO @id, @col1,@col2   
 WHILE @@FETCH_STATUS = 0 
 BEGIN 
 	IF LEN(@col2)> 15 
 		BEGIN 
 		SELECT @s=@s+ ' ' ' '+RTRIM(@id)+ ' ' ', ' ' '+@col1+ ' ' ', ' ' '+LEFT(@col2,15)+ ' ' ' UNION ALL  
 		SELECT NULL,NULL, ' ' '+RIGHT(@col2,LEN(@col2)-15)+  ' ' ' UNION ALL  ' 
 	END 
 	ELSE 
 	BEGIN 
 		SELECT @s=@s+ 'SELECT  '+ ' ' ' '+RTRIM(@id)+ ' ' ', ' ' '+@col1+ ' ' ', ' ' '+@col2+ ' ' ' UNION ALL SELECT  ' 
 	END  		 
 	FETCH NEXT FROM cur 
 	INTO @id, @col1,@col2 
 END 
 SELECT @s=LEFT(@s,LEN(@s)-9) 
 EXEC(@s) 
 CLOSE cur 
 DEALLOCATE cur 
 GO   
 drop table test   
 /* 
 (所影响的行数为 3 行)                                
 ---- ---- --------------------------  
 1    a    111111111111111 
 NULL NULL 111111111111111111 
 2    g    22222 
 3    k    777777777777777 
 NULL NULL 77777777777777777777777777 
 */