필기노트

MSSQL PRINT를 사용해서 VARCHAR(MAX)를 모두 출력하는 방법 본문

Database

MSSQL PRINT를 사용해서 VARCHAR(MAX)를 모두 출력하는 방법

우퐁코기 2022. 11. 27. 16:06
반응형

1. PRINT 시 100까지 출력 못하고 87번째에서 잘렸다.

DECLARE @CR          AS VARCHAR(1) = CHAR(13)
DECLARE @EXEC_SQL    AS VARCHAR(MAX) = ''

DECLARE @NUM INT = 1

WHILE @NUM <= 100
BEGIN
    SET @EXEC_SQL += @CR + 'MSSQL PRINT를 사용해서 VARCHAR(MAX)를 모두 출력하는 방법' + CAST(@NUM AS VARCHAR)
    SET @NUM = @NUM + 1
END

PRINT @EXEC_SQL

 

2. VARCHAR(MAX) 4천씩 잘라서 100까지 출력하고 있다.

DECLARE @CR          AS VARCHAR(1) = CHAR(13)
DECLARE @EXEC_SQL    AS VARCHAR(MAX) = ''

DECLARE @NUM INT = 1

WHILE @NUM <= 100
BEGIN
    SET @EXEC_SQL += @CR + 'MSSQL PRINT를 사용해서 VARCHAR(MAX)를 모두 출력하는 방법' + CAST(@NUM AS VARCHAR)
    SET @NUM = @NUM + 1
END

/**************************************************
*	출력처리
**************************************************/
DECLARE @PAGE_VAL INT = 1
DECLARE @PAGE_IDX INT = 1
DECLARE @TOT_PAGE FLOAT
SET @TOT_PAGE = CEILING(CAST(LEN(@EXEC_SQL) AS FLOAT)/4000)

WHILE @PAGE_VAL <= @TOT_PAGE
BEGIN 
    PRINT SUBSTRING(@EXEC_SQL, @PAGE_IDX, 4000)
    SET @PAGE_IDX += 4000
    SET @PAGE_VAL += 1
END

반응형
Comments