sp_datatype_info (Transact-SQL)

Devuelve información acerca de los tipos de datos que admite el entorno actual.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_datatype_info [ [ @data_type = ] data_type ] 
     [ , [ @ODBCVer = ] odbc_version ] 

Argumentos

  • [ @data_type= ] data_type
    Es el número de código del tipo de datos especificado. Para obtener una lista de todos los tipos de datos, omita este parámetro. data_type es de tipo int y su valor predeterminado es 0.

  • [ @ODBCVer= ] odbc_version
    Es la versión de ODBC utilizada. odbc_version es de tipo tinyint y su valor predeterminado es 2.

Valores de código de retorno

Ninguno

Conjuntos de resultados

Nombre de columna

Tipo de datos

Descripción

TYPE_NAME

sysname

Tipo de datos dependiente del DBMS.

DATA_TYPE

smallint

Código para el tipo de ODBC al que se asignan todas las columnas de este tipo.

PRECISION

int

Precisión máxima del tipo de datos en el origen de datos. Se devuelve NULL para los tipos de datos a los que no se puede aplicar un parámetro de precisión. El valor devuelto para la columna PRECISION está expresado en base 10.

LITERAL_PREFIX

varchar(32)

Carácter o caracteres utilizados antes de una constante. Por ejemplo, una comilla simple (') para tipos de carácter y 0x para tipos binarios.

LITERAL_SUFFIX

varchar(32)

Carácter o caracteres utilizados para terminar una constante. Por ejemplo, una comilla simple (') para tipos de carácter y sin comillas para tipos binarios.

CREATE_PARAMS

varchar(32)

Descripción de los parámetros de creación para este tipo de datos. Por ejemplo, decimal es "precision, scale", float es NULL y varchar es "max_length".

NULLABLE

smallint

Especifica la nulabilidad.

1 = Permite valores NULL.

0 = No permite valores NULL.

CASE_SENSITIVE

smallint

Especifica si deben distinguirse mayúsculas y minúsculas.

1 = Todas las columnas de este tipo distinguen mayúsculas y minúsculas (para intercalaciones).

0 = Las columnas de este tipo no distinguen mayúsculas y minúsculas.

SEARCHABLE

smallint

Especifica la capacidad de búsqueda del tipo de columna:

1 = No se puede buscar.

2 = Se puede buscar con LIKE.

3 = Se puede buscar con WHERE.

4 = Se puede buscar con WHERE o LIKE.

UNSIGNED_ATTRIBUTE

smallint

Especifica el signo del tipo de datos.

1 = Tipo de datos sin signo.

0 = Tipo de datos con signo.

MONEY

smallint

Especifica el tipo de datos money.

1 = Tipo de datos money.

0 = No es un tipo de datos money.

AUTO_INCREMENT

smallint

Especifica el incremento automático.

1 = Incremento automático.

0 = Sin incremento automático.

NULL = Atributo no aplicable.

Una aplicación puede insertar valores en una columna que tenga este atributo, pero no puede actualizar los valores de la columna. Excepto el tipo de datos bit, AUTO_INCREMENT sólo es válido para los tipos de datos que pertenecen a las categorías de tipos de datos Numérico exacto o Numérico aproximado.

LOCAL_TYPE_NAME

sysname

Versión traducida del nombre del tipo de datos, dependiente del origen de datos. Por ejemplo, DECIMAL es DECIMALE en francés. Se devuelve NULL si el origen de datos no admite un nombre traducido.

MINIMUM_SCALE

smallint

Escala mínima del tipo de datos en el origen de datos. Si un tipo de datos tiene una escala fija, las columnas MINIMUM_SCALE y MAXIMUM_SCALE contienen este valor. Se devuelve NULL cuando no se puede aplicar la escala.

MAXIMUM_SCALE

smallint

Escala máxima del tipo de datos en el origen de datos. Si la escala máxima no está definida por separado en el origen de datos, sino que se define igual que la precisión máxima, esta columna contendrá el mismo valor que la columna PRECISION.

SQL_DATA_TYPE

smallint

Valor del tipo de datos SQL tal como aparece en el campo TYPE del descriptor. Esta columna es igual que la columna DATA_TYPE, salvo por los tipos de datos de ANSI datetime e interval. Este campo siempre devuelve un valor.

SQL_DATETIME_SUB

smallint

El subcódigo datetime o interval de ANSI si el valor de SQL_DATA_TYPE es SQL_DATETIME o SQL_INTERVAL. Para otros tipos de datos distintos de datetime e interval de ANSI, este campo es NULL.

NUM_PREC_RADIX

int

Número de bits o dígitos para calcular el número máximo que puede tener una columna. Si el tipo de datos es numérico aproximado, esta columna contendrá el valor 2 para indicar varios bits. Para tipos numéricos exactos, esta columna contiene el valor 10 que indica varias cifras decimales. De lo contrario, esta columna es NULL. Mediante la combinación de la precisión con la base, la aplicación puede calcular el número máximo que puede tener la columna.

INTERVAL_PRECISION

smallint

Valor de la precisión del principio del intervalo si data_type es de tipo interval; de lo contrario, es NULL.

USERTYPE

smallint

Valor de usertype en la tabla systypes.

Notas

sp_datatype_info es equivalente a SQLGetTypeInfo en ODBC. Los resultados devueltos se ordenan por DATA_TYPE y, a continuación, por la proximidad de la asignación de los tipos de datos a los tipos de datos de ODBC SQL correspondientes.

Permisos

Debe pertenecer a la función public.

Ejemplos

En el siguiente ejemplo se recupera información para los tipos de datos sysname y nvarchar especificando el valor -9 en data_type.

USE master;
GO
EXEC sp_datatype_info -9;
GO