Share via


PRINT(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW)Microsoft Fabric의 SQL 분석 엔드포인트Microsoft Fabric의 Warehouse

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

Transact-SQL 구문 표기 규칙

Syntax

PRINT msg_str | @local_variable | string_expr

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

msg_str

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

@local_variable

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

string_expr

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

설명

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

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

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

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

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

예제

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 함수의 결과를 nvarchar 데이터 형식으로 변환하고 반환되는 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