Search code examples
sql-serverdatabasequery-analyzer

Simplest way to print out the contents of a text field in SQL Server


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

select top 1 text from myTable

(where text is a text field)

and

DECLARE @data VarChar(8000) 
select top 1 @data = text from myTable
PRINT @data

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?

Notes:

  • must work with SQL Server 7

Solution

  • 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