You are on page 1of 2

Descripcin de las diferencias entre los tipos de datos

SQL Server 2012


Hay varias diferencias entre los tipos de datos del lenguaje de programacin Java y los tipos de datos de SQL Server. El Microsoft JDBC Driver para SQL Server ayuda a facilitar esas diferencias mediante diversos tipos de conversiones.
Tipos de caracteres
Los tipos de datos de cadenas de caracteres de JDBC son CHAR, VARCHAR y LONGVARCHAR. El controlador JDBC ofrece compatibilidad con la API de JDBC 4.0. En JDBC 4.0, los tipos de datos de cadenas de caracteres de JDBC tambin
pueden ser NCHAR, NVARCHAR y LONGNVARCHAR. Estos nuevos tipos de cadena de caracteres mantienen los tipos de caracteres nativos de Java en formato Unicode y quitan la necesidad de realizar cualquier conversin ANSI a
Unicode o Unicode a ANSI.
Tipo

Descripcin

Longitud fija

Los tipos de datos char y nchar de SQL Server se asignan directamente a los tipos CHAR yNCHAR de JDBC. Estos son tipos de longitud fija con relleno que proporciona el servidor en el caso de que
la columna tenga habilitado SET ANSI_PADDING ON. El relleno siempre est habilitado para nchar, pero en el caso de char, si las columnas char del servidor no tienen relleno, el servidor lo agrega
el controlador JDBC.

Longitud variable

Los tipos de datos varchar y nvarchar de SQL Server se asignan directa y respectivamenteVARCHAR y NVARCHAR de JDBC.

Long

Los tipos text y ntext de SQL Server se asignan respectivamente a los tipos LONGVARCHAR yLONGNVARCHAR de JDBC. Estos son tipos que ya no se utilizan desde SQL Server 2005,
por lo que en su lugar debera usar tipos de valores mayores, varchar(max) o nvarchar(max).
No se pueden usar los mtodos update<Numeric Type> y updateObject (int, java.lang.Object)con las columnas de servidor text y ntext. No obstante, se admite el uso del mtodo
setObjectcon un tipo especfico de conversin de caracteres en columnas text y ntext del servidor.

Tipos de cadenas binarias


Los tipos de datos de cadenas binarias de JDBC son BINARY, VARBINARY y LONGVARBINARY.
Tipo

Descripcin

Longitud fija

El tipo SQL Serverbinary se asigna directamente al tipo de JDBC BINARY. Es un tipo de longitud fija con relleno que proporciona el servidor en el caso de que la columna tenga habilitado
SET ANSI_PADDING. Cuando las columnas char del servidor no tienen relleno, ste lo agrega el controlador JDBC.
El tipo SQL Servertimestamp es un tipo de JDBC BINARY con la longitud fija de 8 bytes.

Longitud variable

El tipo varbinary de SQL Server se asigna al tipo de JDBC VARBINARY.


El tipo udt de SQL Server se asigna a JDBC como un tipo VARBINARY.

Long

El tipo image de SQL Server se asigna al tipo LONGVARBINARY de JDBC. Este tipo se ha dejado de utilizar desde SQL Server 2005, por lo que en su lugar debera usar un tipo de valor grande,varbinary(max).

Tipos numricos exactos


Los tipos numricos exactos de JDBC se asignan directamente a los tipos de SQL Server correspondientes.
Tipo

Descripcin

BIT

El tipo de JDBC BIT representa un bit nico que puede ser 0 1. Esto se asigna a un tipo bit de SQL Server.

TINYINT

El tipo de JDBC TINYINT representa un byte nico. Esto se asigna a un tipo tinyint de SQL Server.

SMALLINT

El tipo SMALLINT de JDBC representa un entero con signo de 16 bits. Esto se asigna a un tiposmallint de SQL Server.

INTEGER

El tipo de JDBC INTEGER representa un entero de 32 bits con signo. Esto se asigna a un tipo intde SQL Server.

BIGINT

El tipo de JDBC BIGINT representa un entero con signo de 64 bits. Esto se asigna a un tipobigint de SQL Server.

NUMERIC

El tipo NUMERIC de JDBC representa un valor decimal de precisin fija que contiene valores de precisin idntica. El tipo NUMERIC se asigna al tipo numeric de SQL Server.

DECIMAL

El tipo DECIMAL de JDBC representa un valor decimal de precisin fija que contiene valores de, al menos, la precisin especificada. El tipo DECIMAL se asigna al tipo SQL Server decimal.
El tipo DECIMAL de JDBC tambin se asigna a los tipos money y smallmoney de SQL Server, que son tipos decimales de precisin fija almacenados en 8 y 4 bytes, respectivamente.

Tipos numricos aproximados


Los tipos numricos aproximados de JDBC son REAL, DOUBLE y FLOAT.
Tipo

Descripcin

REAL

El tipo de JDBC REAL tiene siete dgitos de precisin (precisin simple) y se asigna directamente al tipo real de SQL Server.

DOUBLE

El tipo DOUBLE de JDBC tiene 15 dgitos de precisin (precisin doble) y se asigna directamente al tipo float de SQL Server. El tipo de JDBC FLOAT es un sinnimo de DOUBLE. Dado que puede
haber confusin entre FLOAT y DOUBLE, se prefiere DOUBLE.

Tipos de fecha y hora


El tipo de JDBC TIMESTAMP se asigna a los tipos datetime y smalldatetime de SQL Server. El tipo datetime se almacena en dos enteros de 4 bytes. El tipo smalldatetime contiene la misma informacin (fecha y hora), pero con
menos precisin, en dos enteros pequeos de 2 bytes.

Nota

El tipo timestamp de SQL Server es un tipo de cadena binaria de longitud fija. No se asigna a ninguno de los tipos de tiempo de JDBC: DATE, TIME o TIMESTAMP.

You might also like