适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Microsoft Fabric中的SQL分析端点
Microsoft Fabric中的仓库
Microsoft Fabric中的SQL数据库
向客户端返回用户定义消息。 例如,在 SQL Server Management Studio 中, PRINT 输出到查询结果窗口的“消息”选项卡。
Syntax
PRINT msg_str | @local_variable | string_expr
Arguments
msg_str
字符串或 Unicode 字符串常量。 有关详细信息,请参阅常量。
@local_variable
任何有效字符数据类型的变量。 @local_variable必须是 char、nchar、varchar 或 nvarchar,或者必须能够隐式转换为这些数据类型。
string_expr
一个返回字符串的表达式。 可包括串联的文字值、函数和变量。 有关详细信息,请参阅表达式。
Remarks
如果消息字符串是非 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) 系统存储过程创建的用户定义消息。
Examples
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
C. 有条件地执行打印
以下示例使用 PRINT 语句有条件地返回消息。
IF DB_ID() = 1
PRINT N'The current database is ''master''.';
ELSE
PRINT N'The current database is not ''master''.';
GO