Dela via


QUOTENAME (Transact-SQL)

Applies to:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-analysslutpunkten i Microsoft FabricWarehouse i Microsoft FabricSQL-databas i Microsoft Fabric

Returnerar en Unicode-sträng med avgränsarna tillagda för att göra indatasträngen till en giltig SQL Server avgränsad identifierare.

Transact-SQL syntaxkonventioner

Syntax

QUOTENAME ( 'character_string' [ , 'quote_character' ] )

Arguments

'character_string'

En sträng med Unicode-teckendata. character_string är sysname och är begränsat till 128 tecken. Indata som är större än 128 tecken returnerar NULL.

'quote_character'

En sträng med ett tecken som ska användas som avgränsare. Kan vara ett enkelt citattecken ('), ett vänster- eller högerparentes ([ eller ]), ett dubbelt citattecken ("), en vänster- eller högerparentes (( eller )), ett större än eller mindre än tecken (> eller <), ett vänster- eller högerparentes ({ eller }) eller en backtick ('''').

Om du anger ett oacceptabelt citattecken NULL returneras. Om quote_character inte anges används hakparenteser.

Returtyper

Nvarchar(258)

Examples

I följande exempel används teckensträngen abc[]def och [ och ] tecken för att skapa en giltig SQL Server avgränsad identifierare.

SELECT QUOTENAME('abc[]def');

Här är resultatet.

[abc[]]def]

Den högra hakparentesen i strängen abc[]def fördubblas för att indikera ett escape-tecken.

Följande exempel förbereder en citerad sträng för att använda vid namngivning av en kolumn.

DECLARE @columnName AS NVARCHAR (255) = 'user''s "custom" name';

DECLARE @sql AS NVARCHAR (MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer';

EXECUTE sp_executesql @sql;

Exempel: Azure Synapse Analytics och analysplattformssystem (PDW)

I följande exempel används teckensträngen abc def och [ och ] tecken för att skapa en giltig SQL Server avgränsad identifierare.

SELECT QUOTENAME('abc def');

Här är resultatet.

[abc def]