sys.columns (Transact-SQL)

Devuelve una fila para cada columna de un objeto que incluye columnas, como vistas o tablas. La siguiente lista incluye tipos de objetos que contienen columnas:

  • Funciones de ensamblado con valores de tabla (FT)

  • Funciones SQL con valores de tabla insertados (IF)

  • Tablas internas (IT)

  • Tablas del sistema (S)

  • Funciones SQL con valores de tabla (TF)

  • Tablas de usuario (U)

  • Vistas (V)

Nombre de columna

Tipo de datos

Descripción

object_id

int

Id. del objeto al que pertenece esta columna.

name

sysname

Nombre de la columna. Es único en el objeto.

column_id

int

Identificador de la columna. Es único en el objeto.

Los Id. de columna no tienen que ser secuenciales.

system_type_id

tinyint

Id. del tipo de sistema de la columna.

user_type_id

int

Id. del tipo de la columna, tal como lo ha definido el usuario.

Para devolver el nombre del tipo, combínelo con la vista de catálogo sys.types en esta columna.

max_length

smallint

Longitud máxima (en bytes) de la columna.

-1 = El tipo de datos de la columna es varchar(max), nvarchar(max), varbinary(max) o xml.

En el caso de las columnas text, el valor max_length será 16 o el valor establecido por la opción "text in row" de sp_tableoption.

precision

tinyint

La precisión de la columna se basa en valores numéricos; en caso contrario, es 0.

scale

tinyint

La escala de la columna se basa en valores numéricos; en caso contrario, es 0.

collation_name

sysname

Nombre de la intercalación de la columna si se basa en caracteres; en caso contrario, es NULL.

is_nullable

bit

1 = La columna acepta valores NULL.

is_ansi_padded

bit

1 = La columna utiliza el comportamiento ANSI_PADDING ON si incluye datos de caracteres, binarios o de variante.

0 = La columna no incluye datos de caracteres, binarios o de variante.

is_rowguidcol

bit

1 = La columna es ROWGUIDCOL declarada.

is_identity

bit

1 = La columna tiene valores de identidad.

is_computed

bit

1 = Es una columna calculada.

is_filestream

bit

1 = La columna es una columna FILESTREAM.

is_replicated

bit

1 = La columna se replica.

is_non_sql_subscribed

bit

1 = La columna tiene un suscriptor que no es de SQL Server.

is_merge_published

bit

1 = La columna es una publicación de mezcla.

is_dts_replicated

bit

1 = La columna se replica con SSIS.

is_xml_document

bit

1 = El contenido es un documento XML completo.

0 = El contenido es un fragmento de documento o el tipo de datos de la columna no es xml.

xml_collection_id

int

El valor no es cero si el tipo de datos de la columna es xml y se escribe XML. El valor es el Id. de la colección que contiene el espacio de nombres del esquema XML de validación de la columna.

0 = No hay ninguna colección de esquemas XML.

default_object_id

int

Id. del objeto predeterminado con independencia de si se trata de un objeto independiente sys.sp_bindefault o una restricción insertada DEFAULT de nivel de columna. La columna parent_object_id de un objeto predeterminado de nivel de columna insertado es una referencia a la propia tabla.

0 = Ningún valor predeterminado.

rule_object_id

int

Id. de la regla independiente enlazada a la columna mediante sys.sp_bindrule.

0 = Ninguna regla independiente. Para las restricciones CHECK de nivel de columna, vea sys.check_constraints (Transact-SQL).

is_sparse

bit

1 = La columna es una columna dispersa. Para obtener más información, vea Usar columnas dispersas.

is_column_set

bit

1 = La columna es un conjunto de columnas. Para obtener más información, vea Usar columnas dispersas.

Permisos

En SQL Server 2005 y versiones posteriores, la visibilidad de los metadatos en las vistas de catálogo se limita a los elementos que pueden protegerse y que son propiedad de un usuario o sobre los que el usuario tienen algún permiso. Para obtener más información, vea Configuración de visibilidad de los metadatos.