Sunteți pe pagina 1din 9

TIPO DE DATO

TIPOS DE DATOS NUMRICOS.


SQL Server dispone de varios tipos de datos numricos. Cuanto mayor sea el nmero que
puedan almacenar mayor ser en consecuencia el espacio utilizado para almacenarlo. Como
regla general se recomienda usar el tipo de dato mnimo posible. Todos los datos numricos
admiten el valor NULL.

Bit. Una columna o variable de tipo bit puede almacenar el rango de valores de 1 a 0.
Tinyint. Una columna o variable de tipo tinyint puede almacenar el rango de valores
de 0 a 255.

SmallInt. Una columna o variable de tipo smallint puede almacenar el rango de valores
-32768 a 32767.

Int. Una columna o variable de tipo int puede almacenar el rango de valores -231 a 231-1 .
BigInt. Una columna o variable de tipo bigint puede almacenar el rango de valores -263 a
263-1 .

Decimal(18,0). Una columna de tipo decimal puede almacenar datos nmericos


decimales sin redondear. Donde p es la precision (nmero total del dgitos) y s la escala
(nmero de valores decimales)

Float. Una columna de datos float puede almacenar el rango de valores -1,79x10308 a 1,79x-10308, , si la definimos con el valor mxmo de precisin. La precisin puede
variar entre 1 y 53.

Real. Sinnimo de float(24). Puede almacenar el rango de valores -3,4x-1038 a 3,4x-1038,

Money. Almacena valores nmericos monetarios de -263 a 263-1, con una precisin de
hasta diexz milesimas de la unidad monetaria.

SmallMoney. Almacena valores nmericos monetarios de -214.748,3647 a


214.748,3647, con una precisin de hasta diez milesimas de la unidad monetaria.
TIPOS DE DATOS DE CARACTER.

Char(10).- Almacena n caracteres en formato ASCII, un byte por cada letra. Cuando
almacenamos datos en el tipo char, siempre se utilizan los n caracteres indicados, incluso si
la entrada de datos es inferior. Por ejemplo, si en un char(5), guardamos el valor 'A', se
almacena 'A

', ocupando los cinco bytes.

Varchar(50).Almacena n caracteres en formato ASCII, un byte por cada letra. Cuando


almacenamos datos en el tipo varchar, unicamente se utilizan los caracteres necesarios,Por
ejemplo, si en un varchar(255), guardamos el valor 'A', se almacena 'A', ocupando solo
un byte bytes.

Varchar(max). Igual que varchar, pero al declararse como max puede almacenar 231-1
bytes.

Nchar(10).Almacena n caracteres en formato UNICODE, dos bytes por cada letra. Es


recomendable utilizar este tipo de datos cuando los valores que vayamos a almacenar
puedan pertenecer a diferente idomas.

Nvarchar(50).Almacena n caracteres en formato UNICODE, dos bytes por cada letra.


Es recomendable utilizar este tipo de datos cuando los valores que vayamos a almacenar
puedan pertenecer a diferente idomas.

Nvarchar(max).Igual que varchar, pero al declararse como max puede almacenar 231-1
bytes.

TIPOS DE DATOS DE FECHA.

Datetime. Almacena fechas con una precision de milisegundo. Debe usarse para fechas
muy especficas.

SmallDatetime. Almacena fechas con una precision de minuto, por lo que ocupa la
mitad de espacio de que el tipo datetime, para tablas que puedan llegar a tener muchos
datos es un factor a tener muy en cuenta.

TimeStamp. Se utiliza para marcar un registro con la fecha de insercin - actualizacin.


El tipo timestamp se actualiza automticamente cada vez que insertamos o modificamos los
datos.
TIPOS DE DATOS BINARIOS.

Binary. Se utiliza para almacenar datos binarios de longitud fija, con una longitud
mxima de 8000 bytes.

Varbinary. Se utiliza para almacenar datos binarios de longitud variable, con una
longitud mxima de 8000 bytes..Es muy similar a binary, salvo que varbinary utiliza menos
espacio en disco.

Varbinary(max).Igual que varbinary, pero puede almacenar 231-1 bytes

TIPO DE DATOS XML.

XML.Una de las grandes mejoras que incorpora SQL Server 2005 es el soporte nativo
para XML. Como podemos deducir, este tipo de datos se utiliza para almacenar XML.

DECLARE @myxml XML


set @myxml = (SELECT @@SERVERNAME NOMBRE FOR XML RAW, TYPE)
print cast(@myxml as varchar(max))
Obtendremos la siguiente salida:

<row nombre="SVR01"/>

OTROS TIPOS DE DATOS.

UniqueIdentifier. Se utiliza para identificadores nicos. Para generar identificadores


nicos debemos utilizar la funcinNEWID().

DECLARE @myuniqueid UNIQUEIDENTIFIER


set @myuniqueid = NEWID()
print cast(@myuniqueid as varchar(36))
Obtendremos la siguiente salida: 46141D79-102C-4C29-A620-792EA0208637

Sql_Variant. Permite almacenar valores de diferentes tipos de datos. No puede almacena


varchar(max), xml, timestamp y tipos de datos definidos por el usuario.

DATE.- (parte de hora quitada).


Ejemplo:

<xsd:simpleType name="date">
<xsd:restriction base="xsd:date">
<xsd:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[19])|(1[012]))-((0[1-9])|([12][0-9])|(3[01]))" />
<xsd:maxInclusive value="9999-12-31" />
<xsd:minInclusive value="0001-01-01" />
</xsd:restriction>
</xsd:simpleType>

DATETIME.- (UTC sin ajuste de zona)


almacenan la hora del da representada como el nmero de milisegundos despus de la
medianoche. Los segundos tienen un intervalo vlido de 0 a 59.
Ejemplo
aaaa/mm/dd hh:mm:ss

1947/08/15 03:33:20

mm/dd/aaaa hh:mm:ss

04/15/1947 03:33:20

dd mmm aaaa hh:mm:ss

15 ene 1947 03:33:20

dd mmmm aaaa h:mm:ss

15 enero 1947 03:33:20

<xsd:simpleType name="datetime">
<xsd:restriction base="xsd:dateTime">
....<xsd:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-....9]{2})|([1-9][0-9]{3}))((0[1-9])|(1[012]))-((0[1-9])|([12][0-....9])|(3[01]))T(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.
[0-....9]{2}[037])?" />
<xsd:maxInclusive value="9999-12-31T23:59:59.997" />
<xsd:minInclusive value="1753-01-01T00:00:00.000" />
</xsd:restriction>
</xsd:simpleType>

datetimeoffset(7).- Proporciona compatibilidad de zona horaria para las aplicaciones


implementadas globalmente

TIPOS DE DATOS ESPACIALES

Los datos espaciales representan informacin sobre la ubicacin fsica y la forma de objetos
geomtricos.Estos objetos pueden ser ubicaciones de punto u objetos ms complejos como
pases, carreteras o lagos.
SQL Server admite dos tipos de datos espaciales: el tipo de datos geometry y el tipo de
datos geography.

Geometry.- representa los datos en un sistema de coordenadas euclidiano (plano).


Geography.-

representa los datos en un sistema de coordenadas de tierra redonda.

hierarchyid.- El tipo de datos hierarchyid se utiliza para administrar las tablas y datos
jerrquicos que tienen una estructura jerrquica. Para trabajar con datos jerrquicos en el
cdigo de Transact-SQL, utilice las funciones hierarchyid. Para obtener ms informacin,
consulte Usar los tipos de datos hierarchyid (motor de base de datos).
sql_variant
El tipo de datos sql_variant permite que una sola columna, parmetro o variable almacene
valores de datos de tipos distintos. Cada instancia de una columna sql_variant registra el
valor y los metadatos que describen el valor. Se dispone de los metadatos siguientes:

Tipo de datos base

Tamao mximo

Escala

Precisin

Intercalacin

Para recuperar los metadatos de una instancia de sql_variant concreta, utilice la


funcin SQL_VARIANT_PROPERTY
En el ejemplo siguiente, la segunda tabla contiene una columna de tipo sql_variant:

CREATE TABLE ObjectTable (


ObjectID int CONSTRAINT PKObjectTable PRIMARY KEY,
ObjectName nvarchar(80),
ObjectWeight decimal(10,3),
ObjectColor nvarchar(20))
CREATE TABLE VariablePropertyTable (
ObjectID int REFERENCES ObjectTable(ObjectID),
PropertyName nvarchar(100),
PropertyValue sql_variant,
CONSTRAINT PKVariablePropertyTable
PRIMARY KEY(ObjectID, PropertyName))

Image.- Los datos de tipo image se almacenan como una cadena de bits y SQL Server
no los interpreta. Cualquier interpretacin de los datos de una columna image debe ser
realizada por la aplicacin.

Por ejemplo, una aplicacin puede almacenar datos en una columna image con el formato
BMP, TIFF, GIF o JPEG. La aplicacin que lee los datos de la columna image debe
reconocer el formato de los datos y mostrarlos correctamente. Todo lo que hace una
columna image es proporcionar una ubicacin para almacenar la secuencia de bits que
conforman los datos de la imagen.

Ntext.-

utiliza la pgina de cdigos Unicode, que es la misma para todas las

intercalaciones. Cada base de datos tiene una intercalacin predeterminada. Cuando se crea
una columna text ontext, se le asigna la intercalacin predeterminada de la base de datos, a
menos que le asigne una intercalacin especfica mediante la clusula COLLATE. Cuando
se combinan o se comparan dos valores text o ntext que tienen intercalaciones distintas, las
reglas de prioridad de intercalacin determinan la intercalacin que se utiliza para la
operacin.

Text.- tambin especifican una pgina de cdigos, que define los patrones de bits que se
utilizan para representar cada carcter. Cada valor ntext utiliza la pgina de cdigos
Unicode, que es la misma para todas las intercalaciones. Cada base de datos tiene una
intercalacin predeterminada. Cuando se crea una columna text ontext, se le asigna la
intercalacin predeterminada de la base de datos, a menos que le asigne una intercalacin
especfica mediante la clusula COLLATE. Cuando se combinan o se comparan dos
valores text o ntext que tienen intercalaciones distintas, las reglas de prioridad de
intercalacin determinan la intercalacin que se utiliza para la operacin.

SQL Server permite almacenar valores text, ntext e image pequeos o medianos en una
fila de datos, lo que mejora la velocidad de las consultas que tienen acceso a estos valores.

Cuando se almacena la cadena text, ntext o image en la fila de datos, SQL Server no
necesita tener acceso a una pgina independiente o a un conjunto de pginas para leer o
escribir la cadena. Esto hace la lectura y escritura de cadenas de filas
consecutivas text, ntext o image tan rpida como la lectura y escritura de
cadenas varchar, nvarchar o varbinary

numeric(18,0) .- En las instrucciones Transact-SQL, una constante con un separador


decimal se convierte automticamente a un valor de datos numeric, con la precisin y
escala mnimas necesarias. Por ejemplo, la constante 12.345 se convierte a un
valor numeric con una precisin de 5 y una escala de 3.
La conversin de valores decimal o numeric a valores float o real puede provocar alguna
prdida de precisin.

La conversin de valores intsmallint tinyint float, real, money o smallmoney a valores


decimal o numeric puede provocar un desbordamiento

time(7).- Especifica el nmero de dgitos de la parte fraccionaria de los segundos.


Este valor puede ser un entero de 0 a 7
La precisin predeterminada de las fracciones es 7 (100 ns)

Bibliografa
http://www.devjoker.com/contenidos/Tutorial-de-Transact-SQL/243/Equivalencia-de-datosde-SQL-Server-y-NET.aspx
https://msdn.microsoft.com/es-es/library/bb677243(v=sql.120).aspx
https://technet.microsoft.com/es-es/library/bb677236(v=sql.105).aspx

S-ar putea să vă placă și