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 | +----------+