QUOTENAME (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse 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' ] )
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 sehen Sie das Ergebnis.
[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 sehen Sie das Ergebnis.
[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)