Teilen über


COLUMNPROPERTY (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

Diese Funktion gibt Informationen zu Spalten oder Parametern zurück.

Transact-SQL-Syntaxkonventionen

Syntax

COLUMNPROPERTY ( id , column , property )   

Argumente

id
Ein Ausdruck, der den Bezeichner (ID) der Tabelle oder Prozedur enthält.

column
Ein Ausdruck, der den Namen der Spalte oder des Parameters enthält.

property
Das property-Argument gibt für das id-Argument den Informationstyp an, den die COLUMNPROPERTY-Funktion zurückgibt. Für das property-Argument sind die folgenden Werte möglich:

Wert BESCHREIBUNG Zurückgegebener Wert
AllowsNull Lässt NULL-Werte zu. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
ColumnId Der Wert der Spalten-ID, der sys.columns.column_id entspricht. Column ID

Hinweis: Wenn mehrere Spalten abgefragt werden, können Lücken in der Abfolge von Werten für Spalten-IDs auftreten.
FullTextTypeColumn Der TYPE COLUMN-Wert in der Tabelle, die die Dokumenttypinformationen der Spalte enthält. Die ID der Volltexttypspalte TYPE COLUMN für den Ausdruck des Spaltennamens, der als zweiter Parameter dieser Funktion übergeben wurde.
GeneratedAlwaysType Wird durch den Spaltenwert systemgeneriert. Entspricht sys.columns.generated_always_type Gilt für: SQL Server 2016 (13.x) und höher.

0 = Nicht immer generiert

1 = Immer am Zeilenanfang generiert

2 = Immer am Zeilenende generiert
IsColumnSet Spalte ist ein Spaltensatz. Weitere Informationen finden Sie unter Verwenden von Spaltensätzen. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsComputed Die Spalte ist eine berechnete Spalte. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsCursorType Der Prozedurparameter ist vom Typ CURSOR. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsDeterministic Die Spalte ist deterministisch. Diese Eigenschaft gilt nur für berechnete Spalten und Sichtspalten. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe Keine berechnete Spalte oder Sichtspalte.
IsFulltextIndexed Die Spalte wird für die Volltextindizierung registriert. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsHidden Wird durch den Spaltenwert systemgeneriert. Entspricht sys.columns.is_hidden Gilt für: SQL Server 2016 (13.x) und höher.

0 = Nicht ausgeblendet

1 = Ausgeblendet
IsIdentity Die Spalte verwendet die IDENTITY-Eigenschaft. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsIdNotForRepl In der Spalte wird die IDENTITY_INSERT-Einstellung überprüft. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsIndexable Diese Spalte kann indiziert werden. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
isoutparam Der Prozedurparameter ist ein Ausgabeparameter. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsPrecise Diese Spalte ist eine genaue Spalte. Diese Eigenschaft wird nur auf deterministische Spalten angewendet. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe Keine deterministische Spalte
IsRowGuidCol Die Spalte weist den Datentyp uniqueidentifier auf und wird über die ROWGUIDCOL-Eigenschaft definiert. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsSparse Spalte ist eine Sparsespalte. Weitere Informationen finden Sie unter Verwenden von Spalten mit geringer Dichte. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsSystemVerified Die Eigenschaften für Determinismus und Genauigkeit der Spalte können von Datenbank-Engine überprüft werden. Diese Eigenschaft gilt nur für berechnete Spalten und Spalten von Sichten. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
IsXmlIndexable Die XML-Spalte kann in einem XML-Index verwendet werden. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe
Genauigkeit Länge des Datentyps der Spalte oder des Parameters. Die Länge des angegebenen Spaltendatentyps.

-1 = xml oder Typen für hohe Werte

NULL = Ungültige Eingabe
Skalierung Dezimalstellen des Datentyps der Spalte oder des Parameters. Wert der Dezimalstellen

NULL = Ungültige Eingabe
StatisticalSemantics Spalte ist für die semantische Indizierung aktiviert. 1: TRUE

0: FALSE
SystemDataAccess Die Spalte wird von einer Funktion abgeleitet, die auf Daten in den Systemkatalogen oder virtuellen Tabellen von SQL Server zugreift. Diese Eigenschaft gilt nur für berechnete Spalten und Spalten von Sichten. 1 = TRUE (gibt schreibgeschützten Zugriff an)

0: FALSE

NULL = Ungültige Eingabe
UserDataAccess Die Spalte wird von einer Funktion abgeleitet, die auf Daten in Benutzertabellen zugreift, einschließlich Sichten und temporäre Tabellen, die in der lokalen Instanz von SQL Server gespeichert sind. Diese Eigenschaft gilt nur für berechnete Spalten und Spalten von Sichten. 1 = TRUE (gibt schreibgeschützten Zugriff an)

0: FALSE

NULL = Ungültige Eingabe
UsesAnsiTrim ANSI_PADDING wurde zum Zeitpunkt der Erstellung der Tabelle auf ON festgelegt. Diese Eigenschaft gilt nur für Spalten oder Parameter vom Typ char oder varchar. 1: TRUE

0: FALSE

NULL = Ungültige Eingabe

Rückgabetypen

int

Ausnahmen

Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.

Ein Benutzer kann nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z.B. COLUMNPROPERTY, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt nicht die korrekte Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.

Bemerkungen

Beim Überprüfen der deterministischen Eigenschaft einer Spalte prüfen Sie zuerst, ob die Spalte eine berechnete Spalte ist. Das Argument IsDeterministic gibt für nicht berechnete Spalten NULL zurück. Berechnete Spalten können als Indexspalten angegeben werden.

Beispiele

Dieses Beispiel gibt die Länge der Spalte LastName zurück.

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

Hier sehen Sie das Ergebnis.

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

Siehe auch

Metadatenfunktionen (Transact-SQL)
TYPEPROPERTY (Transact-SQL)