QUOTENAME (SQL Bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Mengembalikan string Unicode dengan pemisah yang ditambahkan untuk menjadikan string input sebagai pengidentifikasi yang valid SQL Server dibatasi.
Sintaks
QUOTENAME ( 'character_string' [ , 'quote_character' ] )
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
'character_string'
Adalah string data karakter Unicode. character_stringadalah sysname dan dibatasi hingga 128 karakter. Input yang lebih besar dari 128 karakter mengembalikan NULL.
'quote_character'
Adalah string satu karakter untuk digunakan sebagai pemisah. Dapat berupa tanda kutip tunggal ( ' ), tanda kurung kiri atau kanan ( [] ), tanda kutip ganda ( " ), tanda kurung kiri atau kanan ( () ), tanda lebih besar dari atau kurang dari tanda ( >< ), kurung kurawal kiri atau kanan ( {} ) atau backtick ( ` ). NULL mengembalikan jika karakter yang tidak dapat diterima disediakan. Jika quote_character tidak ditentukan, tanda kurung siku akan digunakan.
Jenis Pengembalian
nvarchar(258)
Contoh
Contoh berikut mengambil string abc[]def karakter dan menggunakan [ karakter dan ] untuk membuat pengidentifikasi SQL Server dibatasi yang valid.
SELECT QUOTENAME('abc[]def');
Berikut adalah hasil yang ditetapkan.
[abc[]]def]
(1 row(s) affected)
Perhatikan bahwa tanda kurung siku yang tepat dalam string abc[]def digandakan untuk menunjukkan karakter escape.
Contoh berikut menyiapkan string yang dikutip untuk digunakan dalam penamaan kolom.
DECLARE @columnName NVARCHAR(255)='user''s "custom" name'
DECLARE @sql NVARCHAR(MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer'
EXEC sp_executesql @sql
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
Contoh berikut mengambil string abc def karakter dan menggunakan [ karakter dan ] untuk membuat pengidentifikasi SQL Server dibatasi yang valid.
SELECT QUOTENAME('abc def');
Berikut adalah hasil yang ditetapkan.
[abc def]
(1 row(s) affected)
Lihat juga
PARSENAME (SQL Bertransaksi)
CONCAT (SQL Bertransaksi)
CONCAT_WS (SQL Bertransaksi)
FORMATMESSAGE (SQL bertransaksi)
REPLACE (Transact-SQL)
TERBALIK (SQL bertransaksi)
STRING_AGG (T-SQL)
STRING_ESCAPE (SQL Bertransaksi)
STUFF (Transact-SQL)
TERJEMAHKAN (SQL Bertransaksi)
Fungsi String (SQL Transact)
