sp_datatype_info (Transact-SQL)
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 = ] 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 que se utiliza. 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 solo 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 datetime y ANSI 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. |
Comentarios
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
Requiere la pertenencia al rol 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
Vea también
Referencia
Procedimientos almacenados del motor de base de datos (Transact-SQL)