在SQL Server中打印出文本字段内容的最简单方法

alu*_*umb 5 database sql-server query-analyzer

我需要使用MS Query Analyzer输出文本字段的内容.我试过这个:

select top 1 text from myTable
Run Code Online (Sandbox Code Playgroud)

(文字是一个text字段)

DECLARE @data VarChar(8000) 
select top 1 @data = text from myTable
PRINT @data
Run Code Online (Sandbox Code Playgroud)

第一个只打印前2000个左右的字符,第二个只打印前8000个字符.有没有办法得到所有的文字?

笔记:

  • 必须使用SQL Server 7

Rya*_*ott 9

我不认为你可以在MSSQL7中使用varchar(MAX),所以这里会给你所有数据(注意,我理解的是你只是想看到数据,你不会放它在变量中或返回它).

因此,这将打印整个字符串,以便您可以直观地看到字段中的内容:

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
Run Code Online (Sandbox Code Playgroud)