Bagikan melalui


sys.type (Transact-SQL)

Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric

Berisi baris untuk setiap sistem dan jenis yang ditentukan pengguna.

Nama kolom Jenis data Deskripsi
name nama sysname Nama jenis. Unik dalam skema.
system_type_id kecil ID jenis sistem internal.
user_type_id int ID jenis. Unik dalam database.

Jenis perakitan CLR seperti hierarkiid, geometri dan geografi, akan memiliki yang berbeda system_type_id, dan dapat diidentifikasi menggunakan is_assembly_type. Jenis data sysname adalah jenis data internal berdasarkan nvarchar.
schema_id int ID skema tempat jenis berada.
principal_id int ID pemilik individu jika berbeda dari pemilik skema. Secara default, objek yang berisi skema dimiliki oleh pemilik skema. Namun, pemilik alternatif dapat ditentukan dengan menggunakan pernyataan OTORISASI ALTER untuk mengubah kepemilikan.

NULL jika tidak ada pemilik individu alternatif.
max_length smallint Panjang maksimum (dalam byte) dari jenis .

-1 = Jenis data kolom adalah varchar(max), nvarchar(max), varbinary(max), atau xml.
Untuk kolom teks , nilainya max_length adalah 16.
precision kecil Presisi maksimum jenis jika berbasis numerik; jika tidak, 0.
scale kecil Skala maksimum jenis jika berbasis numerik; jika tidak, 0.
collation_name nama sysname Nama kolatasi jenis jika berbasis karakter; bijaksana lainnya, NULL.
is_nullable bit Tipe dapat diubah ke null.
is_user_defined bit 1 = Jenis yang ditentukan pengguna.

0 = Jenis data sistem SQL Server.
is_assembly_type bit 1 = Implementasi jenis didefinisikan dalam rakitan CLR.

0 = Jenis didasarkan pada jenis data sistem SQL Server.
default_object_id int ID default mandiri yang terikat ke jenis dengan menggunakan sp_bindefault.

0 = Tidak ada default.
rule_object_id int ID aturan mandiri yang terikat ke jenis dengan menggunakan sp_bindrule.

0 = Tidak ada aturan.
is_table_type bit Menunjukkan jenisnya adalah tabel.

Izin

Visibilitas metadata dalam tampilan katalog terbatas pada keamanan yang dimiliki pengguna, atau di mana pengguna diberikan beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.

Contoh penggunaan

Mendapatkan detail kolom untuk tabel

Untuk mendapatkan metadata untuk kolom dalam tabel, Anda bisa menggunakan kode berikut:

CREATE TABLE dbo.[sample] (
    id INT NOT NULL
    ,col1 VARBINARY(10) NULL
    )
GO

SELECT c.[name] AS column_name
    ,t.[name] AS [type_name]
    ,c.[max_length]
    ,c.[precision]
    ,c.[scale]
FROM sys.columns c
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');