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!