Di SQL Server, T-SQL QUOTENAME()
function mengembalikan string Unicode dengan pembatas ditambahkan untuk membuat string input pengenal pembatas SQL Server yang valid.
Itu dirancang untuk mengutip database dan objeknya.
Fungsi menerima dua argumen; string input (wajib), dan karakter pembatas (opsional).
Sintaks
Sintaksnya seperti ini:
QUOTENAME ( 'character_string' [ , 'quote_character' ] )
Dimana character_string adalah string input, dan quote_character adalah argumen opsional untuk menentukan karakter yang akan digunakan sebagai pembatas. Jika dihilangkan, tanda kurung digunakan sebagai pembatas.
Perhatikan bahwa character_string adalah nama sistem dan dibatasi hingga 128 karakter. Input lebih dari 128 karakter mengembalikan NULL
.
Pembatas yang valid (untuk quote_character opsional argumen) adalah:
`
(tanda centang balik)'
(tanda petik tunggal)"
(tanda kutip ganda)[]
(kurung kiri atau kanan)()
(tanda kurung kiri atau kanan)<>
(kurang dari atau lebih besar dari tanda){}
(penjepit kiri atau kanan)
Contoh 1 – Penggunaan Dasar
Berikut ini contoh cara kerjanya:
SELECT QUOTENAME('cat[]dog') AS Result;
Hasil:
+-------------+ | Result | |-------------| | [cat[]]dog] | +-------------+
Contoh 2 – Pembatas Khusus
Berikut ini contoh menentukan pembatas yang berbeda:
SELECT QUOTENAME('cat[]dog', '}') AS Result;
Hasil:
+------------+ | Result | |------------| | {cat[]dog} | +------------+
Dan inilah yang terjadi jika kita mengubah tanda kurung tengah menjadi kurung kurawal:
SELECT QUOTENAME('cat{}dog', '}') AS Result;
Hasil:
+-------------+ | Result | |-------------| | {cat{}}dog} | +-------------+
Contoh 3 – String Input Tidak Valid
Seperti yang disebutkan, string input adalah sysname , dan karena itu dibatasi hingga 128 karakter. nama sistem adalah tipe data buatan pengguna yang disediakan sistem yang secara fungsional setara dengan nvarchar(128) , kecuali bahwa itu tidak dapat dibatalkan. nama sistem digunakan untuk mereferensikan nama objek database.
Inilah yang terjadi jika string input terlalu panjang:
SELECT QUOTENAME('This text is too long to be an input string for this function, because it contains more than 128 characters - too long for sysname.') AS Result;
Hasil:
+----------+ | Result | |----------| | NULL | +----------+
Contoh 4 – Pembatas Tidak Valid
Inilah yang terjadi jika Anda menetapkan pembatas yang tidak valid:
SELECT QUOTENAME('cat[]dog', '!') AS Result;
Hasil:
+----------+ | Result | |----------| | NULL | +----------+