다음을 통해 공유


PRINT (Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric 의 SQL 분석 엔드포인트Microsoft Fabric의 웨어하우스Microsoft Fabric 미리 보기의 SQL 데이터베이스

사용자 정의 메시지를 클라이언트에게 반환합니다. 예를 들어 SQL Server Management Studio PRINT 에서 쿼리 결과 창의 메시지 탭에 출력합니다.

Transact-SQL 구문 표기 규칙

Syntax

PRINT msg_str | @local_variable | string_expr

Arguments

msg_str

문자열 또는 유니코드 문자열 상수입니다. 자세한 내용은 상수를 참조하세요.

@local_variable

유효한 문자 데이터 형식의 변수입니다. @local_variable char, nchar, varchar 또는 nvarchar이거나 해당 데이터 형식으로 암시적으로 변환할 수 있어야 합니다.

string_expr

문자열을 반환하는 식입니다. 연결된 리터럴 값, 함수 및 변수를 포함할 수 있습니다. 자세한 내용은 을 참조하세요.

Remarks

메시지 문자열은 유니코드가 아닌 문자열인 경우 최대 8,000자, 유니코드 문자열인 경우 4,000자까지 가능합니다. 이보다 긴 문자열은 잘립니다. varchar(max)nvarchar(max) 데이터 형식은 varchar(8000)nvarchar(4000) 보다 크지 않은 데이터 형식으로 잘립니다.

RAISERROR 를 사용하여 메시지를 반환할 수도 있습니다. RAISERROR에는 다음과 같은 이점이 있습니다.PRINT

  • RAISERROR 에서는 C 언어 표준 라이브러리의 printf 함수에서 모델링된 메커니즘을 사용하여 인수를 오류 메시지 문자열로 대체합니다.

  • RAISERROR 는 문자 메시지 외에도 고유한 오류 번호, 심각도 및 상태 코드를 지정할 수 있습니다.

  • RAISERROR는 sp_addmessage(Transact-SQL) 시스템 저장 프로시저를 사용하여 만든 사용자 정의 메시지를 반환하는 데 사용할 수 있습니다.

Examples

A. 조건에 따라 실행되는 PRINT 문(IF EXISTS)

다음 예에서는 PRINT 문을 사용하여 조건에 따라 메시지를 반환합니다.

IF @@OPTIONS & 512 <> 0
    PRINT N'This user has SET NOCOUNT turned ON.';
ELSE
    PRINT N'This user has SET NOCOUNT turned OFF.';
GO

B. 문자열 빌드 및 표시

다음 예제에서는 GETDATE 함수의 PRINT합니다.

PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO

다음 예제에서는 변수에 메시지 텍스트를 빌드하는 방법을 보여 있습니다.

DECLARE @PrintMessage NVARCHAR(50);
SET @PrintMessage = N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
PRINT @PrintMessage;
GO

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

C. 인쇄 조건부 실행

다음 예에서는 PRINT 문을 사용하여 조건에 따라 메시지를 반환합니다.

IF DB_ID() = 1
    PRINT N'The current database is ''master''.';
ELSE
    PRINT N'The current database is not ''master''.';
GO