PRINT (Transact-SQL)

適用於:Microsoft Fabric 中 Microsoft Fabric倉儲中的 SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse AnalyticsAnalytics Platform System (PDW)SQL 分析端點

向用戶端傳回使用者自訂訊息。

Transact-SQL 語法慣例

Syntax

PRINT msg_str | @local_variable | string_expr  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

msg_str
這是一個字元字串或 Unicode 字串常數。 如需詳細資訊,請參閱常數 (Transact-SQL)

@local_variable
這是任何有效字元資料類型的變數。 @local_variable 必須是 charncharvarcharnvarchar,或者必須能夠隱含轉換為那些資料類型。

string_expr
這是傳回字串的運算式。 它可以包括串連的常值、函數和變數。 如需詳細資訊,請參閱運算式 (Transact-SQL)

備註

如果訊息字串不是 Unicode 字串,它的長度可以多達 8,000 個字元;如果它是 Unicode 字串,則可以多達 4,000 個字元。 較長字串會被截斷。 varchar(max)nvarchar(max) 資料類型都會被截斷為長度不超過 varchar(8000)nvarchar(4000) 的資料類型。

RAISERROR 也可用來傳回訊息。 相較於 PRINT,RAISERROR 有下列優點:

  • RAISERROR 支援利用以 C 語言標準程式庫 printf 函數為基礎來建立型模的機制,將引數代入錯誤訊息中。

  • 除了文字訊息之外,RAISERROR 還可以指定唯一錯誤號碼、嚴重性和狀態碼。

  • RAISERROR 可用來傳回利用 sp_addmessage 系統預存程序建立的使用者自訂訊息。

範例

A. 有條件地執行列印 (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 傳回的常值文字串連起來。

-- Build the message text by concatenating  
-- strings and expressions.  
PRINT N'This message was printed on '  
    + RTRIM(CAST(GETDATE() AS NVARCHAR(30)))  
    + N'.';  
GO  
-- This example shows building the message text  
-- in a variable and then passing it to PRINT.  
-- This was required in SQL Server 7.0 or earlier.  
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 和 Analytics Platform System (PDW)

C. 有條件地執行列印

這個範例會利用 PRINT 陳述式,有條件地傳回訊息。

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

另請參閱

資料類型 (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
RAISERROR (Transact-SQL)