QUOTENAME(Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics endpoint in Microsoft FabricWarehouse in Microsoft FabricSQL database in Microsoft Fabric

回傳一個 Unicode 字串,並加上分隔符,使輸入字串成為有效的 SQL Server delimited 識別碼

Transact-SQL 語法慣例

語法

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

引數

'character_string'

一串 Unicode 字元資料。 character_stringsysname,且限制為 128 個字元。 輸入大於 128 字元時會回傳 NULL

'quote_character'

一個字元的字串作為分隔符。 可以是單引號(')、左或右括號([])、雙引號(")、左或右括號(())、大於或小於符號(><或)、左或右大括號({})或反括號('')。

如果你提供了不可接受的引用, NULL 會被回覆。 如果 quote_character 未指定,則使用括號。

傳回類型

nvarchar(258)

範例

以下範例取字串 abc[]def,並使用 [] 字元來建立有效的 SQL Server 分隔識別碼。

SELECT QUOTENAME('abc[]def');

結果集如下所示。

[abc[]]def]

字串 abc[]def 右側的括號會加倍表示轉義字元。

下例會準備用來命名資料行的加引號字串。

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;

範例:Azure Synapse Analytics 與 Analytics Platform System (PDW)

以下範例取字串 abc def,並使用 [] 字元來建立有效的 SQL Server 分隔識別碼。

SELECT QUOTENAME('abc def');

結果集如下所示。

[abc def]