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

Apa tipe data SYSNAME di SQL Server?

sysname adalah tipe data bawaan yang terbatas pada 128 karakter Unicode yang, IIRC, digunakan terutama untuk menyimpan nama objek saat membuat skrip. Nilainya tidak boleh NULL

Pada dasarnya sama dengan menggunakan nvarchar(128) NOT NULL

EDIT

Seperti yang disebutkan oleh @Jim di komentar, saya rasa tidak ada kasus bisnis di mana Anda akan menggunakan sysname Sejujurnya. Ini terutama digunakan oleh Microsoft saat membangun sys internal tabel dan prosedur tersimpan dll dalam SQL Server.

Misalnya, dengan menjalankan Exec sp_help 'sys.tables' Anda akan melihat bahwa kolom name didefinisikan sebagai sysname ini karena nilai this sebenarnya adalah objek itu sendiri (tabel)

Saya tidak akan terlalu mengkhawatirkannya.

Perlu juga dicatat bahwa bagi orang-orang yang masih menggunakan SQL Server 6.5 dan yang lebih rendah (apakah masih ada orang yang menggunakannya?) tipe sysname bawaan setara dengan varchar(30)

Dokumentasi

sysname didefinisikan dengan dokumentasi untuk nchar dan nvarchar , di kolom komentar:

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.

Untuk memperjelas pernyataan di atas, secara default nama sistem didefinisikan sebagai NOT NULL tentu saja mungkin untuk mendefinisikannya sebagai nullable. Penting juga untuk dicatat bahwa definisi yang tepat dapat bervariasi antara contoh SQL Server.

Menggunakan Tipe Data Khusus

nama sistem tipe data digunakan untuk kolom tabel, variabel, dan parameter prosedur tersimpan yang menyimpan nama objek. Definisi yang tepat darisysname terkait dengan aturan untuk pengidentifikasi. Oleh karena itu, dapat bervariasi antara contoh SQL Server. nama sistem secara fungsional sama dengan nvarchar(128) kecuali bahwa, secara default, nama sistem TIDAK NULL. Versi SQL Server sebelumnya, sysname didefinisikan sebagai varchar(30).

Beberapa informasi lebih lanjut tentang sysname mengizinkan atau melarang NULL nilai dapat ditemukan di sini https://stackoverflow.com/a/52290792/300863

Hanya karena itu adalah default (menjadi NOT NULL) tidak menjamin bahwa itu akan terjadi!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Matikan kendala sementara (MS SQL)

  2. Apakah ada cara untuk mendapatkan daftar semua tabel sementara saat ini di SQL Server?

  3. Streaming Gambar Basis Data Menggunakan HttpHandler

  4. Cara Menginstal SQLOPS di Mac

  5. Ikhtisar Kompresi Data di SQL Server