Compartir vía


sp_datatype_info (Transact-SQL)

Se aplica a: SQL Server Azure Synapse Analytics

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

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @data_type = ] data_type

Número de código del tipo de datos especificado. @data_type es int, con un valor predeterminado de 0. Para obtener una lista de todos los tipos de datos, omita este parámetro.

[ @ODBCVer = ] ODBCVer

Versión de ODBC que se usa. @ODBCVer es tinyint, con un valor predeterminado de 2.

Valores de código de retorno

Ninguno.

Conjunto de resultados

Nombre de la 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. NULL se devuelve para los tipos de datos para los que la precisión no es aplicable. El valor devuelto de la PRECISION columna está en la base 10.
LITERAL_PREFIX varchar(32) Carácter o caracteres utilizados antes de una constante. Por ejemplo, una comilla simple (') para los tipos de caracteres y 0x para binary.
LITERAL_SUFFIX varchar(32) Carácter o caracteres utilizados para terminar una constante. Por ejemplo, una comilla simple (') para los tipos de caracteres y sin comillas para 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 NULLy 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 de minúsculas (para intercalaciones).
0 = Todas las columnas de este tipo no distinguen mayúsculas de 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 firmar.
0 = Tipo de datos firmado.
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 = Creación automática.
0 = No creación automática.
NULL = Atributo no aplicable.
Una aplicación puede insertar valores en una columna que sea este atributo, pero la aplicación no puede actualizar los valores de la columna. Excepto para el tipo de datos bit , AUTO_INCREMENT solo es válido para los tipos de datos que pertenecen a las categorías de tipo de datos Numérico exacto y Numérico aproximado.
LOCAL_TYPE_NAME sysname Versión traducida del nombre del tipo de datos, dependiente del origen de datos. Por ejemplo, DECIMAL está DECIMALE en francés. NULL se devuelve si el origen de datos no admite un nombre localizado.
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 MINIMUM_SCALE columnas y MAXIMUM_SCALE contienen este valor. NULL se devuelve donde la escala no es aplicable.
MAXIMUM_SCALE smallint Escala máxima del tipo de datos en el origen de datos. Si la escala máxima no se define por separado en el origen de datos, pero se define para que sea la misma precisión que la máxima, esta columna contiene el mismo valor que la PRECISION columna.
SQL_DATA_TYPE smallint Valor del tipo de datos SQL tal como aparece en el TYPE campo del descriptor. Esta columna es la misma que la DATA_TYPE columna, excepto para los tipos de datos datetime y ANSI interval . Este campo siempre devuelve un valor.
SQL_DATETIME_SUB smallint subcódigo de intervalo datetime o ANSI si el valor de SQL_DATA_TYPE es SQL_DATETIME o SQL_INTERVAL. En el caso de los tipos de datos distintos de datetime e intervalo 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 los tipos numéricos exactos, esta columna contiene el valor 10 para indicar varios dígitos 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 inicial del intervalo si @data_type es interval; en caso contrario NULL, .
USERTYPE smallint valor usertype de la systypes tabla.

Comentarios

sp_datatype_info es equivalente a SQLGetTypeInfo en ODBC. Los resultados devueltos se ordenan por DATA_TYPE y, a continuación, el tipo de datos se asigna de cerca al tipo de datos ODBC SQL correspondiente.

Permisos

Debe pertenecer al rol public.

Ejemplos

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

USE master;
GO
EXEC sp_datatype_info -9;
GO