COLUMNPROPERTY (Transact-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Fungsi ini mengembalikan informasi kolom atau parameter.
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