Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
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: VERO 0: FALSO 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: VERO 0: FALSO NULL: input non valido. |
| IsComputed | La colonna è una colonna calcolata. | 1: VERO 0: FALSO NULL: input non valido. |
| IsCursorType | Il parametro di procedura è di tipo CURSOR. | 1: VERO 0: FALSO NULL: input non valido. |
| IsDeterministic | La colonna è tipo deterministico. Questa proprietà viene applicata solo alle colonne calcolate e alle colonne di una vista. | 1: VERO 0: FALSO 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: VERO 0: FALSO 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: VERO 0: FALSO NULL: input non valido. |
| IsIdNotForRepl | La colonna controlla l'impostazione IDENTITY_INSERT. | 1: VERO 0: FALSO NULL: input non valido. |
| IsIndexable | La colonna può essere indicizzata. | 1: VERO 0: FALSO NULL: input non valido. |
| IsOutParam | Il parametro di procedura è di output. | 1: VERO 0: FALSO NULL: input non valido. |
| IsPrecise | La colonna è precisa. Questa proprietà viene applicata solo a colonne di tipo deterministico. | 1: VERO 0: FALSO 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: VERO 0: FALSO NULL: input non valido. |
| IsSparse | La colonna è una colonna di tipo sparse. Per altre informazioni, vedere Usare le colonne di tipo sparse. | 1: VERO 0: FALSO 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: VERO 0: FALSO NULL: input non valido. |
| IsXmlIndexable | La colonna XML può essere utilizzata in un indice XML | 1: VERO 0: FALSO 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: VERO 0: FALSO |
| 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: FALSO 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: FALSO 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: VERO 0: FALSO 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)