QUOTENAME (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Gibt eine Unicode-Zeichenfolge mit hinzugefügten Trennzeichen zurück, sodass die Eingabezeichenfolge ein gültiger SQL Server-Begrenzungsbezeichner wird.

Transact-SQL-Syntaxkonventionen

Syntax

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

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

'character_string'
Eine Zeichenfolge von Unicode-Zeichendaten. character_string ist vom Datentyp sysname und auf 128 Zeichen beschränkt. Eingaben, die größer als 128 Zeichen sind, geben NULL zurück.

'quote_character'
Eine Zeichenfolge mit einem Zeichen, das als Trennzeichen verwendet wird. Dies kann ein einfaches Anführungszeichen ( ' ) sein, eine linke oder recht eckige Klammer ( [] ), ein doppeltes Anführungszeichen ( " ), eine linke oder recht runde Klammer ( () ), ein größer als- oder kleiner als-Zeichen ( >< ), eine linke oder rechte geschweifte Klammer ( {} ) oder ein Hochkomma/Backtick ( ` ). NULL wird zurückgegeben, wenn ein unzulässiges Zeichen angegeben wird. Wenn quote_character nicht angegeben wird, werden eckige Klammern verwendet.

Rückgabetypen

nvarchar(258)

Beispiele

Im folgenden Beispiel wird mit der Zeichenfolge abc[]def und den Zeichen [ und ] ein gültiger SQL Server-Begrenzungsbezeichner erstellt.

SELECT QUOTENAME('abc[]def');

Hier ist das Resultset.

[abc[]]def]
  
(1 row(s) affected)  

Beachten Sie, dass die rechte Klammer in der Zeichenfolge abc[]def verdoppelt wurde, um ein Escapezeichen anzugeben.

Im folgenden Beispiel wird eine Zeichenfolge in Anführungszeichen zum Benennen einer Spalte vorbereitet.

DECLARE @columnName NVARCHAR(255)='user''s "custom" name'
DECLARE @sql NVARCHAR(MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer'

EXEC sp_executesql @sql

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

Im folgenden Beispiel wird mit der Zeichenfolge abc def und den Zeichen [ und ] ein gültiger SQL Server-Begrenzungsbezeichner erstellt.

SELECT QUOTENAME('abc def');   

Hier ist das Resultset.

[abc def]  
  
(1 row(s) affected)  

Weitere Informationen

PARSENAME (Transact-SQL)
CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
REPLACE (Transact-SQL)
REVERSE (Transact-SQL)
STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)
STUFF (Transact-SQL)
TRANSLATE (Transact-SQL)
Zeichenfolgenfunktionen (Transact-SQL)