KOLUMNER (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Returnerar en rad för varje kolumn som kan nås av den nuvarande användaren i den aktuella databasen.

För att hämta information från dessa vyer, ange det fullt kvalificerade namnet INFORMATION_SCHEMA.view_name.

Kolumnnamn Datatyp Description
TABLE_CATALOG Nvarchar(128) Bordskvalificering.
TABLE_SCHEMA Nvarchar(128) Namn på schemat som innehåller tabellen.

Viktig: Använd inte INFORMATION_SCHEMA vyer för att bestämma schemat för ett objekt. INFORMATION_SCHEMA vyer representerar endast en delmängd av metadata för ett objekt. Det enda pålitliga sättet att hitta schemat för ett objekt är att fråga katalogvyn sys.objects .
TABLE_NAME Nvarchar(128) Tabellnamn.
COLUMN_NAME Nvarchar(128) Kolumnnamn.
ORDINAL_POSITION int Kolumnens identifikationsnummer.
COLUMN_DEFAULT Nvarchar(4000) Standardvärdet för kolumnen.
IS_NULLABLE Varchar(3) Nollbarhet av kolumnen. Om denna kolumn tillåter NULL, returnerar denna kolumn JA. Annars returneras NEJ.
DATA_TYPE Nvarchar(128) Systemtillhandahållen datatyp.
CHARACTER_MAXIMUM_LENGTH int Maximal längd, i tecken, för binär data, teckendata eller text- och bilddata.

-1 för XML- och storvärdestypdata. Annars returneras NULL. Mer information finns i datatyper (Transact-SQL).
CHARACTER_OCTET_LENGTH int Maximal längd, i bytes, för binär data, teckendata eller text- och bilddata.

-1 för XML- och storvärdestypdata. Annars returneras NULL.
NUMERIC_PRECISION tinyint Precision i approximativa numeriska data, exakta numeriska data, heltalsdata eller monetära data. Annars returneras NULL.
NUMERIC_PRECISION_RADIX smallint Precisionsradix av ungefärliga numeriska data, exakta numeriska data, heltalsdata eller monetära data. Annars returneras NULL.
NUMERIC_SCALE int Skala av ungefärliga numeriska data, exakta numeriska data, heltalsdata eller monetära data. Annars returneras NULL.
DATETIME_PRECISION smallint Subtypkod för datetime- och ISO-intervalldatatyper . För andra datatyper returneras NULL.
CHARACTER_SET_CATALOG Nvarchar(128) Återvänder , mästare. Detta anger vilken databas teckenuppsättningen är placerad i, om kolumnen är teckendata eller textdatatyp . Annars returneras NULL.
CHARACTER_SET_SCHEMA Nvarchar(128) Returnerar alltid NULL.
CHARACTER_SET_NAME Nvarchar(128) Returnerar det unika namnet för teckenuppsättningen om denna kolumn är teckendata eller textdatatyp . Annars returneras NULL.
COLLATION_CATALOG Nvarchar(128) Returnerar alltid NULL.
COLLATION_SCHEMA Nvarchar(128) Returnerar alltid NULL.
COLLATION_NAME Nvarchar(128) Returnerar det unika namnet för sorteringen om kolumnen är teckendata eller textdatatyp . Annars returneras NULL.
DOMAIN_CATALOG Nvarchar(128) Om kolumnen är en alias-datatyp är denna kolumn databasnamnet där den användardefinierade datatypen skapades. Annars returneras NULL.
DOMAIN_SCHEMA Nvarchar(128) Om kolumnen är en användardefinierad datatyp returnerar denna kolumn namnet på schemat för den användardefinierade datatypen. Annars returneras NULL.

Viktig: Använd inte INFORMATION_SCHEMA vyer för att bestämma schemat för en datatyp. Det enda pålitliga sättet att hitta schemat för en typ är att använda funktionen TYPEPROPERTY.
DOMAIN_NAME Nvarchar(128) Om kolumnen är en användardefinierad datatyp är denna kolumn namnet på den användardefinierade datatypen. Annars returneras NULL.

Anmärkningar

Den ORDINAL_POSITION kolonnen i INFORMATION_SCHEMA. COLUMNS-vyn är inte kompatibel med bit-mönstret av kolumner som returneras av COLUMNS_UPDATED funktionen. För att få ett bitmönster som är kompatibelt med COLUMNS_UPDATED måste du referera till egenskapen ColumnID för COLUMNPROPERTY-systemfunktionen när du frågar INFORMATION_SCHEMA. COLUMNS-vy . Till exempel:

USE AdventureWorks2022;  
GO  
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID  
FROM AdventureWorks2022.INFORMATION_SCHEMA.COLUMNS  
WHERE TABLE_NAME = 'Person';  
GO  

Se även