Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana Fungsi QUOTENAME() Bekerja di SQL Server (T-SQL)

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Dinamis (melewati nama tabel sebagai parameter)

  2. Bagaimana menghubungkan ke database dari Unity

  3. Apa itu SQL Server? (Definisi, Versi, Edisi)

  4. Menggunakan Penyimpanan Intel Optane untuk SQL Server

  5. Nama kolom variabel SQL Server?