PRINT (Transact-SQL)
適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
向用戶端傳回使用者自訂訊息。 例如,在 SQL Server Management Studio 中, PRINT
輸出至查詢結果視窗的 [訊息] 索引標籤。
Syntax
PRINT msg_str | @local_variable | string_expr
注意
若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔。
引數
msg_str
字元字串或 Unicode 字串常數。 如需詳細資訊,請參閱常數。
@local_variable
任何有效字元數據類型的變數。 @local_variable必須是 char、nchar、varchar 或 nvarchar,或者必須能夠隱含地轉換成這些數據類型。
string_expr
傳回字串的表達式。 它可以包括串連的常值、函數和變數。 如需詳細資訊,請參閱 表達式。
備註
如果訊息字串是非 Unicode 字串,則訊息字串長度最多可達 8,000 個字元,如果它是 Unicode 字串,則長度為 4,000 個字元。 較長字串會被截斷。 varchar(max) 和 nvarchar(max) 資料類型都會被截斷為長度不超過 varchar(8000) 和 nvarchar(4000) 的資料類型。
RAISERROR 也可以用來傳回訊息。 RAISERROR
具有下列優點:PRINT
RAISERROR
支援使用 C 語言標準連結庫 printf 函式上模型化的機制,將自變數取代為錯誤訊息字串。RAISERROR
除了文字訊息之外,還可以指定唯一的錯誤號碼、嚴重性和狀態代碼。RAISERROR
可用來傳回使用 sp_addmessage (Transact-SQL) 系統預存程式所建立的使用者定義訊息。
範例
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
回的常值文字串連。
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 和 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
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應