Udostępnij za pomocą


COLUMNPROPERTY (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Funkcja ta zwraca informacje o kolumnach lub parametrach.

Transact-SQL konwencje składni

Składnia

COLUMNPROPERTY ( id , column , property )   

Arguments

id
Wyrażenie zawierające identyfikator (ID) tabeli lub procedury.

kolumna
Wyrażenie zawierające nazwę kolumny lub parametru.

właściwość
Dla argumentu id argument własności określa typ informacji, który COLUMNPROPERTY funkcja zwróci. Argument własności może mieć dowolną z następujących wartości:

Wartość Description Zwrócona wartość
ZezwalajNull Pozwala na wartości zerowe. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
ColumnId Wartość ID kolumny odpowiadająca sys.columns.column_id. Identyfikator kolumny

Nuta: Podczas zapytań wielu kolumn mogą pojawić się luki w sekwencji wartości ID kolumn.
FullTextTypeColumn Kolumna TYPE w tabeli zawierająca informacje o typie dokumentu w kolumnie. ID pełnotekstowej kolumny TYPE dla wyrażenia nazwy kolumny przekazywanej jako drugi parametr tej funkcji.
GeneratedAlwaysType Jest wartością kolumny generowaną systemowo. Odpowiada sys.columns.generated_always_type Dotyczy: SQL Server 2016 (13.x) i nowszych.

0: Nie zawsze generowane

1: Generowane zawsze na początku wiersza

2: Generowane zawsze na końcu rzędu
IsColumnSet Kolumna to zbiór kolumnowy. Aby uzyskać więcej informacji, zobacz Zastosowanie zestawów kolumn. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsComputed Kolumna to kolumna obliczana. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsCursorType Parametr procedury to typ CURSOR. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsDeterministic Kolumna jest deterministyczna. Ta właściwość dotyczy tylko obliczonych kolumn i kolumn widoku. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście. To nie jest kolumna obliczeniowa ani kolumna widoku.
IsFulltextIndexed Kolumna jest rejestrowana do indeksowania pełnego tekstu. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
Jest ukryty Jest wartością kolumny generowaną systemowo. Odpowiada sys.columns.is_hidden Dotyczy: SQL Server 2016 (13.x) i nowszych.

0: Nie ukryty

1: Ukryte
IsIdentity Kolumna używa właściwości IDENTITY. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsIdNotForRepl Kolumna sprawdza ustawienie IDENTITY_INSERT. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsIndexable Kolumny można indeksować. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsOutParam Parametr procedury jest parametrem wyjściowym. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsPrecise Kolumna jest precyzyjna. Ta właściwość dotyczy tylko kolumn deterministycznych. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście. Nie jest to kolumna deterministyczna
IsRowGuidCol Kolumna posiada unikalny identyfikator i jest zdefiniowana za pomocą właściwości ROWGUIDCOL. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsSparse Kolumna to kolumna rzadka. Aby uzyskać więcej informacji, zobacz Use Sparse Columns. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsSystemVerified Silnik bazy danych może zweryfikować determinizm i precyzję kolumny. Ta właściwość dotyczy tylko obliczonych kolumn i kolumn widoków. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
IsXmlIndexable Kolumna XML może być używana w indeksie XML. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.
Precision Długość typu danych kolumny lub parametru. Długość określonego typu danych kolumny

-1: XML lub typy dużych wartości

NULL: nieprawidłowe wejście.
Scale Skalowanie dla kolumny lub typu danych parametrów. Wartość skali

NULL: nieprawidłowe wejście.
StatisticalSemantics Kolumna jest włączona do indeksowania semantycznego. 1: PRAWDA

0: FAŁSZ
SystemDataAccess Kolumna pochodzi z funkcji, która uzyskuje dostęp do danych w katalogach systemów lub wirtualnych tabelach systemu SQL Server. Ta właściwość dotyczy tylko obliczonych kolumn i kolumn widoków. 1: TRUE (Oznacza dostęp tylko do odczytu.)

0: FAŁSZ

NULL: nieprawidłowe wejście.
UserDataAccess Column jest wywodzony z funkcji uzyskującej dostęp do danych w tabelach użytkowników, w tym w widokach i tabelach tymczasowych, przechowywanych w lokalnej instancji SQL Server. Ta właściwość dotyczy tylko obliczonych kolumn i kolumn widoków. 1: TRUE (Oznacza dostęp tylko do odczytu.)

0: FAŁSZ

NULL: nieprawidłowe wejście.
ZastosowaniaAnsiTrim ANSI_PADDING był ustawiony NA moment tworzenia tabeli. Ta właściwość dotyczy tylko kolumn lub parametrów typu char lub varchar. 1: PRAWDA

0: FAŁSZ

NULL: nieprawidłowe wejście.

Typy zwracane

int

Exceptions

Zwraca NULL w przypadku błędu lub jeśli wywołujący nie ma uprawnień do objęcia obiektu.

Użytkownik może wyświetlać tylko metadane zabezpieczanych, które użytkownik jest właścicielem lub którym użytkownik udzielił uprawnień. Oznacza to, że funkcje emitujące metadane, takie jak takie jak NULL COLUMNPROPERTY , mogą zwracać NULL, jeśli użytkownik nie ma odpowiednich uprawnień do obiektu. Więcej informacji można znaleźć w Metadata Visibility Configuration .

Uwagi

Sprawdzając deterministyczną właściwość kolumny, najpierw sprawdź, czy jest ona kolumną obliczoną. Argument IsDeterministic zwraca NULL dla kolumn nieobliczanych. Kolumny obliczane można określić jako kolumny indeksowe.

Przykłady

Ten przykład zwraca długość kolumny LastName .

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

Oto zestaw wyników.

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

Zobacz także

Funkcje metadanych (Transact-SQL)
TYPEPROPERTY (Transact-SQL)