Dela via


PRINT (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Förhandsversion av Microsoft Fabric

Returnerar ett användardefinierat meddelande till klienten. I SQL Server Management Studio PRINT visas till exempel fliken Meddelanden i frågeresultatfönstret.

Transact-SQL syntaxkonventioner

Syntax

PRINT msg_str | @local_variable | string_expr

Arguments

msg_str

En teckensträng eller Unicode-strängkonstant. Mer information finns i Konstanter.

@local_variable

En variabel för alla giltiga teckendatatyper. @local_variable måste vara char, nchar, varchar eller nvarchar, eller så måste det kunna konverteras implicit till dessa datatyper.

string_expr

Ett uttryck som returnerar en sträng. Kan innehålla sammanfogade literalvärden, funktioner och variabler. Mer information finns i Uttryck.

Remarks

En meddelandesträng kan vara upp till 8 000 tecken lång om det är en icke-Unicode-sträng och 4 000 tecken lång om det är en Unicode-sträng. Längre strängar avkortas. Datatyperna varchar(max) och nvarchar(max) trunkeras till datatyper som inte är större än varchar(8000) och nvarchar(4000).

RAISERROR kan också användas för att returnera meddelanden. RAISERROR har dessa fördelar jämfört PRINTmed :

  • RAISERROR har stöd för att ersätta argument i en felmeddelandesträng med hjälp av en mekanism som är modellerad på printf-funktionen i C-språkstandardbiblioteket.

  • RAISERROR kan ange ett unikt felnummer, en allvarlighetsgrad och en tillståndskod utöver textmeddelandet.

  • RAISERROR kan användas för att returnera användardefinierade meddelanden som skapats med hjälp av den sp_addmessage (Transact-SQL) system lagrade proceduren.

Examples

A. Villkorlig körning av utskrift (IF EXISTS)

I följande exempel används -instruktionen PRINT för att villkorligt returnera ett meddelande.

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. Skapa och visa en sträng

I följande exempel konverteras resultatet av funktionen GETDATE till en nvarchar-datatyp och sammanfogas med literaltext, som returneras av PRINT.

PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO

I följande exempel visas hur du skapar meddelandetexten i en variabel.

DECLARE @PrintMessage NVARCHAR(50);
SET @PrintMessage = N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
PRINT @PrintMessage;
GO

Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Villkorligt köra utskrift

I följande exempel används -instruktionen PRINT för att villkorligt returnera ett meddelande.

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