Bagikan melalui


COLUMNPROPERTY (Transact-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Fungsi ini mengembalikan informasi kolom atau parameter.

Konvensi sintaks transact-SQL

Sintaks

COLUMNPROPERTY ( id , column , property )   

Argumen

id
Ekspresi yang berisi pengidentifikasi (ID) tabel atau prosedur.

column
Ekspresi yang berisi nama kolom atau parameter.

property
Untuk argumen id, argumen properti menentukan jenis informasi yang COLUMNPROPERTY akan dikembalikan fungsi. Argumen properti dapat memiliki salah satu nilai ini:

Nilai Deskripsi Nilai yang dikembalikan
AllowsNull Mengizinkan nilai null. 1: TRUE

0: FALSE

NULL: input tidak valid.
ColumnId Nilai ID kolom yang terkait dengan sys.columns.column_id. ID Kolom

Catatan: Saat mengkueri beberapa kolom, celah mungkin muncul dalam urutan nilai ID Kolom.
FullTextTypeColumn KOLOM TYPE dalam tabel yang menyimpan informasi tipe dokumen kolom. ID KOLOM TIPE teks lengkap untuk ekspresi nama kolom yang diteruskan sebagai parameter kedua fungsi ini.
GeneratedAlwaysType Adalah nilai kolom yang dihasilkan sistem. Sesuai dengan sys.columns.generated_always_type Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru.

0: Tidak selalu dihasilkan

1: Dihasilkan selalu pada awal baris

2: Dihasilkan selalu di ujung baris
IsColumnSet Kolom adalah kumpulan kolom. Untuk informasi selengkapnya, lihat Menggunakan Kumpulan Kolom. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsComputed Kolom adalah kolom komputasi. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsCursorType Parameter prosedur berjenis KURSOR. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsDeterministik Kolom deterministik. Properti ini hanya berlaku untuk kolom komputasi dan kolom tampilan. 1: TRUE

0: FALSE

NULL: input tidak valid. Bukan kolom komputasi atau kolom tampilan.
IsFulltextIndexed Kolom terdaftar untuk pengindeksan teks lengkap. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsHidden Adalah nilai kolom yang dihasilkan sistem. Sesuai dengan sys.columns.is_hidden Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru.

0: Tidak tersembunyi

1: Tersembunyi
IsIdentitas Kolom menggunakan properti IDENTITY. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsIdNotForRepl Kolom memeriksa pengaturan IDENTITY_INSERT. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsIndexable Kolom dapat diindeks. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsOutParam Parameter prosedur adalah parameter output. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsPrecise Kolom tepat. Properti ini hanya berlaku untuk kolom deterministik. 1: TRUE

0: FALSE

NULL: input tidak valid. Bukan kolom deterministik
IsRowGuidCol Kolom memiliki jenis data pengidentifikasi unik, dan didefinisikan dengan properti ROWGUIDCOL. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsSparse Kolom adalah kolom jarang. Untuk informasi selengkapnya, lihat Menggunakan Kolom Jarang. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsSystemVerified Mesin Database dapat memverifikasi properti determinisme dan presisi kolom. Properti ini hanya berlaku untuk kolom dan kolom tampilan yang dihitung. 1: TRUE

0: FALSE

NULL: input tidak valid.
IsXmlIndexable Kolom XML dapat digunakan dalam indeks XML. 1: TRUE

0: FALSE

NULL: input tidak valid.
Presisi Panjang jenis data kolom atau parameter. Panjang tipe data kolom yang ditentukan

-1: jenis xml atau nilai besar

NULL: input tidak valid.
Sisik Skalakan untuk jenis data kolom atau parameter. Nilai skala

NULL: input tidak valid.
StatisticalSemantics Kolom diaktifkan untuk pengindeksan semantik. 1: TRUE

0: FALSE
SystemDataAccess Kolom berasal dari fungsi yang mengakses data dalam katalog sistem atau tabel sistem virtual SQL Server. Properti ini hanya berlaku untuk kolom dan kolom tampilan yang dihitung. 1: TRUE (Menunjukkan akses baca-saja.)

0: FALSE

NULL: input tidak valid.
UserDataAccess Kolom berasal dari fungsi yang mengakses data dalam tabel pengguna, termasuk tampilan dan tabel sementara, disimpan dalam instans lokal SQL Server. Properti ini hanya berlaku untuk kolom dan kolom tampilan yang dihitung. 1: TRUE (Menunjukkan akses baca-saja.)

0: FALSE

NULL: input tidak valid.
UsesAnsiTrim ANSI_PADDING diatur AKTIF pada saat pembuatan tabel. Properti ini hanya berlaku untuk kolom atau parameter tipe karakter atau varchar. 1: TRUE

0: FALSE

NULL: input tidak valid.

Jenis yang dikembalikan

int

Pengecualian

Mengembalikan NULL pada kesalahan, atau jika penelepon tidak memiliki izin untuk melihat objek.

Pengguna hanya dapat melihat metadata yang dapat diamankan yang dimiliki pengguna atau di mana pengguna telah diberikan izin. Ini berarti bahwa fungsi bawaan yang memancarkan metadata seperti COLUMNPROPERTY mungkin mengembalikan NULL, jika pengguna tidak memiliki izin yang benar pada objek. Lihat Konfigurasi Visibilitas Metadata untuk informasi selengkapnya.

Keterangan

Saat memeriksa properti deterministik kolom, pertama-tama uji apakah kolom tersebut adalah kolom komputasi. Argumen IsDeterministic mengembalikan NULL untuk kolom yang tidak dikomputasi. Kolom komputasi dapat ditentukan sebagai kolom indeks.

Contoh

Contoh ini mengembalikan panjang LastName kolom.

USE AdventureWorks2022;  
GO  
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Person'),'LastName','PRECISION')AS 'Column Length';  
GO  

Berikut set hasilnya.

Column Length
-------------
50

Lihat juga

Fungsi Metadata (Transact-SQL)
TYPEPROPERTY (Transact-SQL)