<p>I need to output the contents of a text field using MS Query Analyzer. I have tried this:</p>

<pre><code>select top 1 text from myTable
</code></pre>

<p>(where text is a <code>text</code> field)</p>

<p>and</p>

<pre><code>DECLARE @data VarChar(8000) 
select top 1 @data = text from myTable
PRINT @data
</code></pre>

<p>The first one prints only the first 2000 or so characters and the second only prints the first 8000 characters. Is there any way to get all of the text?</p>

<p>Notes:</p>

<ul>
<li>must work with SQL Server 7</li>
</ul>

I don't think you can use varchar(MAX) in MSSQL7, so here's something that will give you all the data (note, what I'm understanding is you just want to visually see the data, and you aren't going put it in a variable or return it).
So, this will print off the entire string so you can visually see what's in the field:
```
```
DECLARE @limit as int,
        @charLen as int,
        @current as int,
        @chars as varchar(8000)

SET @limit = 8000

SELECT  TOP 1 @charLen = LEN(text)
FROM    myTable

SET @current = 1

WHILE @current < @charLen
BEGIN
    SELECT  TOP 1 @chars = SUBSTRING(text,@current,@limit)
    FROM    myTable
    PRINT @chars

    SET @current = @current + @limit
END
```
```