PRINT (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в базе данных Microsoft Fabric SQL в Microsoft Fabric
Возвращает клиенту пользовательское сообщение. Например, в СРЕДЕ SQL Server Management Studio PRINT
выводится на вкладку "Сообщения" окна результатов запроса.
Соглашения о синтаксисе Transact-SQL
Синтаксис
PRINT msg_str | @local_variable | string_expr
Аргументы
msg_str
Символьная строка или константа строки Юникода. Дополнительные сведения см. в разделе Константы.
@local_variable
Переменная любого допустимого типа данных символов. @local_variable должен быть char, nchar, varchar или nvarchar, или он должен быть неявно преобразован в эти типы данных.
string_expr
Выражение, возвращающее строку. Может содержать объединенные буквенные значения, функции и переменные. Дополнительные сведения см. в разделе Выражения.
Замечания
Строка сообщения может быть длиной до 8000 символов, если это строка, отличной от Юникода, и 4000 символов, если это строка Юникода. Более длинные строки усекаются. Типы данных varchar(max) и nvarchar(max) усекаются до типов данных, которые не длиннее varchar(8000) и nvarchar(4000).
RAISERROR также можно использовать для возврата сообщений. RAISERROR
имеет следующие преимущества по сравнению PRINT
с :
RAISERROR
поддерживает подстановку аргументов в строку сообщения об ошибке с помощью механизма, моделироваемого функцией printf стандартной библиотеки языка C.RAISERROR
может указать уникальный номер ошибки, серьезность и код состояния в дополнение к текстовому сообщению.RAISERROR
можно использовать для возврата пользовательских сообщений, созданных с помощью хранимой процедуры sp_addmessage (Transact-SQL ).
Примеры
А. Печать, выполняемая по условию (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)
В. Условное выполнение печати
В следующем примере инструкция PRINT
применяется для возвращения сообщения по условию.
IF DB_ID() = 1
PRINT N'The current database is ''master''.';
ELSE
PRINT N'The current database is not ''master''.';
GO