QUOTENAME (Transact-SQL)

Applies to:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL analytics endpoint in Microsoft FabricWarehouse v Microsoft FabricSQL v databázi Microsoft Fabric

Vrátí řetězec Unicode s přidanými oddělovači, aby vstupní řetězec byl platným identifikátorem SQL Server delimited identifier.

Transact-SQL konvence syntaxe

Syntaxe

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

Arguments

'character_string'

Řetězec dat znaků Unicode. character_string je sysname a je omezen na 128 znaků. Vrátí vstupy větší než 128 znaků NULL.

'quote_character'

Řetězec s jedním znakem, který se použije jako oddělovač. Může to být jednoduchá uvozovka ('), levá nebo pravá závorka ([ nebo ]), dvojitá uvozovka ("), levá nebo pravá závorka (( nebo )), větší nebo menší než znaménko (> nebo <), levá nebo pravá složená závorka ({ nebo }) nebo zadní závorka ('').

Pokud zadáte nepřijatelný znak uvozovky, NULL vrátí se. Pokud není zadaný quote_character , použijí se hranaté závorky.

Návratové typy

nvarchar(258)

Examples

Následující příklad přebírá řetězec znaků abc[]def a používá znaky [ a ] k vytvoření platného identifikátoru s oddělovači SQL Server.

SELECT QUOTENAME('abc[]def');

Tady je soubor výsledků.

[abc[]]def]

Pravá hranatá závorka v řetězci abc[]def se zdvojnásobí a označí řídicí znak.

Následující příklad připravuje úvodovaný řetězec pro pojmenování sloupce.

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;

Příklady: Azure Synapse Analytics a systém PDW (Analytics Platform System)

Následující příklad přebírá řetězec znaků abc def a používá znaky [ a ] k vytvoření platného identifikátoru s oddělovači SQL Server.

SELECT QUOTENAME('abc def');

Tady je soubor výsledků.

[abc def]