COLUMNPROPERTY (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Questa funzione restituisce informazioni di colonna o parametro.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
COLUMNPROPERTY ( id , column , property )
Argomenti
id
Espressione che include l'identificatore (ID) della tabella o procedura.
column
Espressione che include il nome di colonna o di parametro.
property
Per l'argomento id, l'argomento property specifica il tipo di informazioni che verranno restituite dalla funzione COLUMNPROPERTY
. I valori possibili per l'argomento property sono i seguenti:
valore | Descrizione | Valore restituito |
---|---|---|
AllowsNull | Ammette valori Null. | 1: TRUE 0: FALSE NULL: input non valido. |
ColumnId | Valore di ID di colonna corrispondente a sys.columns.column_id. | ID colonna Nota: quando si eseguono query su più colonne, potrebbero apparire spazi vuoti nella sequenza dei valori di ID di colonna. |
FullTextTypeColumn | L'elemento TYPE COLUMN nella tabella in cui sono contenute le informazioni sui tipi di documenti di column. | ID di TYPE COLUMN full-text per l'espressione del nome della colonna passata come secondo parametro della funzione. |
GeneratedAlwaysType | Valore di colonna generato dal sistema. Corrisponde a sys.columns.generated_always_type | Si applica a: SQL Server 2016 (13.x) e versioni successive. 0: non sempre generato 1: sempre generato all'inizio della riga 2: sempre generato alla fine della riga |
IsColumnSet | La colonna è un set di colonne. Per altre informazioni, vedere Usare set di colonne. | 1: TRUE 0: FALSE NULL: input non valido. |
IsComputed | La colonna è una colonna calcolata. | 1: TRUE 0: FALSE NULL: input non valido. |
IsCursorType | Il parametro di procedura è di tipo CURSOR. | 1: TRUE 0: FALSE NULL: input non valido. |
IsDeterministic | La colonna è tipo deterministico. Questa proprietà viene applicata solo alle colonne calcolate e alle colonne di una vista. | 1: TRUE 0: FALSE NULL: input non valido. Non si tratta di una colonna calcolata o di una colonna di vista. |
IsFulltextIndexed | La colonna è stata registrata per l'indicizzazione full-text. | 1: TRUE 0: FALSE NULL: input non valido. |
IsHidden | Valore di colonna generato dal sistema. Corrisponde a sys.columns.is_hidden | Si applica a: SQL Server 2016 (13.x) e versioni successive. 0: non nascosto 1: nascosto |
IsIdentity | La colonna utilizza la proprietà IDENTITY. | 1: TRUE 0: FALSE NULL: input non valido. |
IsIdNotForRepl | La colonna controlla l'impostazione IDENTITY_INSERT. | 1: TRUE 0: FALSE NULL: input non valido. |
IsIndexable | La colonna può essere indicizzata. | 1: TRUE 0: FALSE NULL: input non valido. |
IsOutParam | Il parametro di procedura è di output. | 1: TRUE 0: FALSE NULL: input non valido. |
IsPrecise | La colonna è precisa. Questa proprietà viene applicata solo a colonne di tipo deterministico. | 1: TRUE 0: FALSE NULL: input non valido. Non si tratta di una colonna di tipo deterministico. |
IsRowGuidCol | La colonna è di tipo di dati uniqueidentifier e viene definita con la proprietà ROWGUIDCOL. | 1: TRUE 0: FALSE NULL: input non valido. |
IsSparse | La colonna è una colonna di tipo sparse. Per altre informazioni, vedere Usare le colonne di tipo sparse. | 1: TRUE 0: FALSE NULL: input non valido. |
IsSystemVerified | Le proprietà di determinismo e precisione della colonna possono essere verificate dal motore di database. Questa proprietà è applicabile solo alle colonne calcolate e alle colonne di viste. | 1: TRUE 0: FALSE NULL: input non valido. |
IsXmlIndexable | La colonna XML può essere utilizzata in un indice XML | 1: TRUE 0: FALSE NULL: input non valido. |
Precisione | Lunghezza del tipo di dati della colonna o del parametro. | Lunghezza del tipo di dati specificato per la colonna. -1: xml o tipi di dati per valori di grandi dimensioni NULL: input non valido. |
Ridimensiona | Scala del tipo di dati della colonna o del parametro. | Valore di scalabilità NULL: input non valido. |
StatisticalSemantics | La colonna è abilitata per l'indicizzazione semantica. | 1: TRUE 0: FALSE |
SystemDataAccess | La colonna deriva da una funzione che accede ai dati nei cataloghi di sistema o nelle tabelle virtuali di sistema di SQL Server. Questa proprietà è applicabile solo alle colonne calcolate e alle colonne di viste. | 1 TRUE (accesso di sola lettura). 0: FALSE NULL: input non valido. |
UserDataAccess | La colonna deriva da una funzione che accede ai dati nelle tabelle utente, incluse le tabelle temporanee e le viste, archiviate nell'istanza locale di SQL Server. Questa proprietà è applicabile solo alle colonne calcolate e alle colonne di viste. | 1 TRUE (accesso di sola lettura). 0: FALSE NULL: input non valido. |
UsesAnsiTrim | ANSI_PADDING è stato impostato su On al momento della creazione della tabella. Questa proprietà viene applicata solo alle colonne o ai parametri di tipo char o varchar. | 1: TRUE 0: FALSE NULL: input non valido. |
Tipi restituiti
int
Eccezioni
Restituisce NULL in caso di errore o se un chiamante non ha l'autorizzazione necessaria per visualizzare l'oggetto.
Un utente può visualizzare esclusivamente i metadati delle entità a sicurezza diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come COLUMNPROPERTY
possono restituire NULL se l'utente non ha l'autorizzazione corretta per l'oggetto. Per altre informazioni, vedere Configurazione della visibilità dei metadati.
Osservazioni:
Durante il controllo della proprietà deterministica di una colonna, è necessario per prima cosa verificare se la colonna è calcolata. L'argomento IsDeterministic restituisce NULL per le colonne non calcolate. È possibile specificare le colonne calcolate come colonne di indice.
Esempi
Nell'esempio viene restituita la lunghezza della colonna LastName
.
USE AdventureWorks2022;
GO
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Person'),'LastName','PRECISION')AS 'Column Length';
GO
Il set di risultati è il seguente.
Column Length
-------------
50
Vedi anche
Funzioni per i metadati (Transact-SQL)
TYPEPROPERTY (Transact-SQL)