如何将长文本打印到多页

时间:2015-05-29 21:34:12

标签: sql-server

需要打印出SQL varchar(7900)数据。它无法填写一页。 如何将其分解为两页而不会断言。

我无法使用substring(FieldA, 1, 3000)和下一页substring(FieldA, 3001, 6000),因为工作例如" BOOK"可能会打破" B"作为3000位置的最后一个字母," OOK"显示在下一页。

2 个答案:

答案 0 :(得分:0)

试试这个:

DECLARE @L INT;
DECLARE @str varchar(8000);
SELECT @str=FieldA FROM your_table WHERE ....
SET @L = 1;
IF LEN(@STR)>3000 SET @L=3000;
WHILE @L>2000 AND SUBSTRING (@str, @l, 1) LIKE '[A-Z]'
     SET @L=@L-1;
IF @L>1 BEGIN
    PRINT SUBSTRING(@str, 1, @L);
    PRINT SUBSTRING(@str, @L, LEN(@str)-@L);
END
ELSE
    PRINT @str;

答案 1 :(得分:0)

我认为你可以使用:

SUBSTRING(FieldA, 1, CHARINDEX(' ', FieldA, 2995))