COLUMNS (Transact-SQL)
Restituisce una riga per ogni colonna accessibile dall'utente corrente nel database corrente.
Per recuperare informazioni da queste viste, specificare il nome completo di INFORMATION_SCHEMA.view_name.
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
TABLE_CATALOG |
nvarchar(128) |
Qualificatore della tabella. |
TABLE_SCHEMA |
nvarchar(128) |
Nome dello schema che contiene la tabella. ![]()
Non utilizzare viste INFORMATION_SCHEMA per determinare lo schema di un oggetto. L'unica modalità affidabile per cercare lo schema di un oggetto consiste nell'eseguire una query sulla vista del catalogo sys.objects o nell'utilizzare la funzione OBJECT_SCHEMA_NAME.
|
TABLE_NAME |
nvarchar(128) |
Nome della tabella. |
COLUMN_NAME |
nvarchar(128) |
Nome della colonna. |
ORDINAL_POSITION |
int |
Numero di identificazione della colonna. |
COLUMN_DEFAULT |
nvarchar(4000) |
Valore predefinito della colonna. A differenza di quanto avviene in SQL Server 2000, in SQL Server 2008 le espressioni SQL vengono decodificate e archiviate nei metadati del catalogo. La semantica dell'espressione decodificata è equivalente al testo originale, tuttavia non è garantito che la sintassi venga mantenuta. Gli spazi vuoti, ad esempio, vengono eliminati dall'espressione decodificata. Per ulteriori informazioni, vedere Differenze di funzionamento delle funzionalità del Motore di database in SQL Server 2008. |
IS_NULLABLE |
varchar(3) |
Impostazione relativa al supporto di valori Null nella colonna. Se nella colonna sono consentiti valori NULL, in questa colonna viene restituito YES. In caso contrario, viene restituito NO. |
DATA_TYPE |
nvarchar(128) |
Tipo di dati fornito dal sistema. |
CHARACTER_MAXIMUM_LENGTH |
int |
Lunghezza massima espressa in caratteri per i dati di tipo binary, character, text o image. -1 per i dati di tipo xml e di tipi per valori di grandi dimensioni. Per gli altri tipi di dati viene restituito NULL. Per ulteriori informazioni, vedere Tipi di dati (Transact-SQL). |
CHARACTER_OCTET_LENGTH |
int |
Lunghezza massima espressa in byte per i dati di tipo binary, character, text o image. -1 per i dati di tipo xml e di tipi per valori di grandi dimensioni. Per gli altri tipi di dati viene restituito NULL. |
NUMERIC_PRECISION |
tinyint |
Precisione dei dati numerici approssimati, dei dati numerici esatti, dei dati integer o dei dati in valuta. Per gli altri tipi di dati viene restituito NULL. |
NUMERIC_PRECISION_RADIX |
smallint |
Radice di precisione dei dati numerici approssimati, dei dati numerici esatti, dei dati integer o dei dati in valuta. Per gli altri tipi di dati viene restituito NULL. |
NUMERIC_SCALE |
int |
Scala dei dati numerici approssimati, dei dati numerici esatti, dei dati integer o dei dati in valuta. Per gli altri tipi di dati viene restituito NULL. |
DATETIME_PRECISION |
smallint |
Codice di sottotipo per il tipo di dati datetime e il tipo di dati interval ISO. Per gli altri tipi di dati viene restituito NULL. |
CHARACTER_SET_CATALOG |
nvarchar(128) |
Restituisce master per indicare il database che include il set di caratteri se la colonna contiene dati di tipo carattere o text. Per gli altri tipi di dati viene restituito NULL. |
CHARACTER_SET_SCHEMA |
nvarchar(128) |
Restituisce sempre NULL. |
CHARACTER_SET_NAME |
nvarchar(128) |
Restituisce il nome univoco del set di caratteri se la colonna contiene dati di tipo character o text. Per gli altri tipi di dati viene restituito NULL. |
COLLATION_CATALOG |
nvarchar(128) |
Restituisce sempre NULL. |
COLLATION_SCHEMA |
nvarchar(128) |
Restituisce sempre NULL. |
COLLATION_NAME |
nvarchar(128) |
Restituisce il nome univoco delle regole di confronto se la colonna contiene dati di tipo character o text. Per gli altri tipi di dati viene restituito NULL. |
DOMAIN_CATALOG |
nvarchar(128) |
Se il tipo di dati della colonna è alias, restituisce il nome del database in cui è stato creato il tipo di dati definito dall'utente. Per gli altri tipi di dati viene restituito NULL. |
DOMAIN_SCHEMA |
nvarchar(128) |
Restituisce il nome dello schema del tipo di dati definito dall'utente se la colonna contiene un tipo di dati definito dall'utente. Per gli altri tipi di dati viene restituito NULL. ![]()
Non utilizzare le viste INFORMATION_SCHEMA per determinare lo schema di un tipo di dati. L'unica modalità affidabile per cercare lo schema di un tipo consiste nell'utilizzare la funzione TYPEPROPERTY.
|
DOMAIN_NAME |
nvarchar(128) |
Restituisce il nome del tipo di dati definito dall'utente se la colonna contiene un tipo di dati definito dall'utente. Per gli altri tipi di dati viene restituito NULL. |
Osservazioni
La colonna ORDINAL_POSITION della vista INFORMATION_SCHEMA.COLUMNS non è compatibile con lo schema di bit di colonne restituite dalla funzione COLUMNS_UPDATED. Per ottenere uno schema di bit compatibile con la funzione COLUMNS_UPDATED, è necessario fare riferimento alla proprietà ColumnID della funzione di sistema COLUMNPROPERTY quando si esegue una query sulla vista INFORMATION_SCHEMA.COLUMNS. Ad esempio:
USE AdventureWorks;
GO
SELECT COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Employee';
Esempi
Nell'esempio seguente vengono restituite le colonne in tutte le tabelle e viste del database che non possono avere un valore NULL.
USE AdventureWorks;
GO
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE IS_NULLABLE = 'NO'
ORDER BY DATA_TYPE;
Vedere anche