Académique Documents
Professionnel Documents
Culture Documents
1. A continuación os mostramos los tipos de datos que se pueden definir para este
motor de base de datos (tanto para Microsoft SQL Server como para MSDE):
A. NÚMEROS EXACTOS
Los tipos de datos numéricos exactos son los tipos de datos de SQL Server más comunes utilizados
para almacenar información numérica. Los tipos de datos numéricos aproximados proporcionan
menos precisión y se utilizan con menos frecuencia.
Tipos de datos numéricos que tienen precisión y escala fijas. Los tipos decimal y numeric son
sinónimos y se pueden usar indistintamente. (Se aplica a: SQL Server (SQL Server 2008 a versión
actual), Windows Azure SQL Database (Versión inicial a versión actual).
BIT.- JDBC bits tipo representa un bit único que puede ser 0 ó 1. Se asigna a un SQL
Server bits tipo.
TINYINT.- JDBC TINYINT tipo representa un solo byte. Se asigna a un SQL Server
tinyint tipo.
SMALLINT.- JDBC SMALLINT tipo representa un entero de 16 bits con signo. Se
asigna a un SQL Server smallint tipo.
INTEGER.- JDBC entero tipo representa un entero de 32 bits con signo. Se asigna a
un SQL Server int tipo.
Bigint.- JDBC BIGINT tipo representa un entero de 64 bits con signo. Se asigna a un
SQL Server bigint tipo.
NUMERIC.- JDBC numérico tipo representa un valor decimal de precisión fija que
contiene los valores de precisión idéntica. El numérico tipo se asigna a la SQL Server
numérico tipo.
DECIMAL.- JDBC DECIMAL tipo representa un valor decimal de precisión fija que
contiene valores de al menos la precisión especifican. El DECIMAL tipo se asigna a
la SQL Server decimal tipo. JDBC DECIMAL tipo también se asigna a la SQL Server
dinero y smallmoney tipos, que son determinados tipos decimales de precisión fija
que se almacenan en 8 y 4 bytes, respectivamente.
Tamaño de almacenamiento
EJEMPLO.- En este ejemplo se crea una tabla con los tipos de datos decimal y numeric. Se insertan
valores en cada columna y los resultados se devuelven con una instrucción SELECT.
B. NÚMEROS APROXIMADOS
Los tipos numéricos aproximados de JDBC son REAL, doble, y FLOAT.
REAL.- JDBC REAL tipo tiene siete dígitos de precisión (precisión simple) y se asigna
directamente a la SQL Server real tipo. (Se aplica a: SQL Server (SQL Server 2008 a versión
actual), Windows Azure SQL Database (Versión inicial a versión actual).
DOUBLE.- JDBC doble tipo tiene 15 dígitos de precisión (precisión doble) y se asigna a la
SQL Server float tipo. JDBC FLOAT tipo es un sinónimo de doble. Dado que puede haber
confusión entre FLOAT y doble, doble es preferible.
EJEMPLO.- En el ejemplo siguiente se muestra el resultado de usar la función ABS en tres números
distintos.
varchar [ ( n | max ) ]
Datos de cadena no Unicode de longitud variable. n define la longitud de la cadena y puede
ser un valor entre 1 y 8.000.max indica que el tamaño máximo de almacenamiento es de
2^31-1 bytes (2 GB). El tamaño de almacenamiento es la longitud real de los datos
especificados + 2 bytes. Los sinónimos ISO
de varchar son char varying o character varying.
Devuelve el carácter Unicode correspondiente al código entero dado, tal como se define en
el estándar Unicode (Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows
Azure SQL Database (Versión inicial a versión actual).
nchar [ ( n ) ]
Datos de cadena Unicode de longitud fija. n define la longitud de la cadena y debe
ser un valor entre 1 y 4.000. El tamaño de almacenamiento es dos veces n bytes. Si la
página de códigos de la intercalación utiliza caracteres de doble byte, el tamaño de
almacenamiento sigue siendo de n bytes. Dependiendo de la cadena, el tamaño de
almacenamiento de n bytes puede ser inferior al valor especificado para n. Los
sinónimos ISO de nchar son national char y national character..
nvarchar [ ( n | max ) ]
Datos de cadena Unicode de longitud variable. n define la longitud de la cadena y
puede ser un valor entre 1 y 4.000. maxindica que el tamaño máximo de
almacenamiento es de 2^31-1 bytes (2 GB). El tamaño de almacenamiento, en bytes,
es dos veces la longitud real de los datos especificados + 2 bytes. Los sinónimos ISO
de nvarchar son national char varying ynational character varying.
binary [ (n) ] Datos binarios de longitud fija con una longitud de n bytes, donde n es
un valor que oscila entre 1 y 8000. El tamaño de almacenamiento es de n bytes.
varbinary [ (n | max) ] Datos binarios de longitud variable. n puede ser un valor de
1 a 8000. max indica que el tamaño máximo de almacenamiento es de 2^31-1
bytes. El tamaño de almacenamiento es la longitud real de los datos especificados +
2 bytes. Los datos especificados pueden tener una longitud de 0 bytes. El sinónimo
de ANSI SQL para varbinary es binary varying.
Puede convertir tipos de datos int, smallint y tinyint en binary o varbinary, pero si
convierte de nuevo el valor binary a un valor entero, este será distinto del valor entero
original si se ha producido un truncamiento.
El siguiente lote muestra que este truncamiento puede afectar a las operaciones aritméticas
sin generar un error:
El resultado final es 57921 y no 123457 .
Cursor.-Un tipo de datos para las variables o para los parámetros de resultado de
los procedimientos almacenados que contiene una referencia a un cursor.( Se aplica
a: SQL Server (SQL Server 2008 a versión actual), Windows Azure SQL Database
(Versión inicial a versión actual).
Comentarios
Las operaciones a las que pueden hacer referencia las variables y parámetros que tienen un
tipo de datos cursor son:
Las instrucciones DECLARE @local_variable y SET @local_variable.
Las instrucciones del cursor OPEN, FETCH, CLOSE y DEALLOCATE.
Los parámetros de resultado de procedimientos almacenados.
La función CURSOR_STATUS.
Los procedimientos almacenados del
sistema sp_cursor_list, sp_describe_cursor, sp_describe_cursor_tables y sp_describ
e_cursor_columns.
La columna de salida cursor_name de sp_cursor_list y sp_describe_cursor devuelve
el nombre de la variable de cursor.
Las variables creadas con el tipo de datos cursor aceptan valores NULL.
El tipo de datos cursor no se puede utilizar para una columna en una instrucción
CREATE TABLE.
En una instrucción CREATE TABLE o ALTER TABLE, no tiene que especificar ningún
nombre de columna para el tipo de datostimestamp, por ejemplo:
El tipo hierarchyid está disponible para los clientes CLR como el tipo de
datos SqlHierarchyId. (Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows
Azure SQL Database (Versión inicial a versión actual).
uniqueidentifier
Una columna o una variable local de tipo de datos uniqueidentifier se puede inicializar en un
valor de las siguiente formas:
Mediante la función NEWID.
Mediante la conversión a partir de una constante de cadena con el formato xxxxxxxx-
xxxx-xxxx-xxxx-xxxxxxxxxxxx, donde cada x es un dígito hexadecimal en el
intervalo 0-9 o a-f. Por ejemplo, 6F9619FF-8B86-D011-B42D-00C04FC964FF es un
valor uniqueidentifier válido.
Con los valores uniqueidentifier se pueden utilizar operadores de comparación. No obstante,
no se implementa la ordenación mediante la comparación de los patrones de bits de los dos
valores. Las únicas operaciones que se pueden realizar con un valor uniqueidentifier son
comparaciones (=, <>, <, >, <=, >=) y comprobaciones para NULL (IS NULL e IS NOT
NULL). No es posible utilizar otros operadores aritméticos. Con el tipo de
datos uniqueidentifier, se pueden utilizar todas las propiedades y restricciones de columna,
excepto IDENTITY.
La replicación de mezcla y la replicación transaccional con suscripciones de actualización
usan columnas uniqueidentifier para garantizar que las filas se identifican de forma única en
varias copias de la tabla.