Sie sind auf Seite 1von 8

SQL Server proporciona un conjunto de tipos de datos del sistema que define todos los tipos de datos que

pueden utilizarse. Tambin podemos definir nuestros propios tipos de datos en Transact-SQL. Los tipos de datos ms utilizados son:

Numricos: int, decimal, money Fecha y hora: datetime Cadena de caracteres: varchar Binarios

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 dato 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 alores -32768 a 32767. Int: Una columna o variable de tipo int puede almacenar el rango de valores -231 a 31 -1. BigInt: Una columna o variable de tipo bigint puede almacenar el rango de valores 263 a 263-1 . Decimal (p,s): Una columna de tipo decimal puede almacenar datos numricos decimales sin redondear. Donde p es la precisin (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,79x-10308 a 1,79x-10308, , si la definimos con el valor mximo 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 numricos monetarios de -263 a 263-1, con una precisin de hasta diez milsimas de la unidad monetaria. SmallMoney: Almacena valores numricos monetarios de -214.748,3647 a 214.748,3647, con una precisin de hasta diez milsimas de la unidad monetaria.

Tipos de Datos Fecha y Hora.

atetime: Almacena fechas con una precisin de milisegundo. Debe usarse para fechas muy especficas.

SmallDatetime: Almacena fechas con una precisin 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 Cadena de Caracteres.

Char(n): 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(n): 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(n): 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 diferentes idiomas. Nvarchar(n): 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 diferentes idiomas. Nvarchar(max): Igual que varchar, pero al declararse como max puede almacenar 231-1 bytes.

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

Existen otros tipos de Datos que podemos utilizar en SQL Server, pero estos son los mas utilizados.
About these ads

Para almacenar valores NUMERICOS SQL Server dispone de varios tipos. Para almacenar valores ENTEROS, por ejemplo, en campos que hacen referencia a cantidades, usamos: 1) integer o int: su rango es de -2000000000 a 2000000000 aprox. El tipo integer tiene subtipos: - smallint: Puede contener hasta 5 digitos. Su rango va desde 32000 hasta 32000 aprox. - tinyint: Puede almacenar valores entre 0 y 255. - bigint: De 9000000000000000000 hasta 9000000000000000000 aprox. Para almacenar valores numricos EXACTOS con decimales, especificando la cantidad de cifras a la izquierda y derecha del separador decimal, utilizamos: 2) decimal o numeric (t,d): Pueden tener hasta 38 digitos, guarda un valor exacto. El primer argumento indica el total de dgitos y el segundo, la cantidad de decimales. Por ejemplo, si queremos almacenar valores entre -99.99 y 99.99 debemos definir el campo como tipo decimal(4,2). Si no se indica el valor del segundo argumento, por defecto es 0. Por ejemplo, si definimos decimal(4) se pueden guardar valores entre -9999 y 9999. El rango depende de los argumentos, tambin los bytes que ocupa. Se utiliza el punto como separador de decimales. Si ingresamos un valor con ms decimales que los permitidos, redondea al ms cercano; por ejemplo, si definimos decimal(4,2) e ingresamos el valor 12.686, guardar 12.69, redondeando hacia arriba; si ingresamos el valor 12.682, guardar 12.67, redondeando hacia abajo. Para almacenar valores numricos APROXIMADOS con decimales utilizamos: 3) float y real: De 1.79E+308 hasta 1.79E+38. Guarda valores aproximados. 4) real: Desde 3.40E+308 hasta 3.40E+38. Guarda valores aproximados. Para almacenar valores MONETARIOS empleamos: 5) money: Puede tener hasta 19 digitos y slo 4 de ellos puede ir luego del separador decimal; entre 900000000000000.5808 aprox y 900000000000000.5807. 6) smallmoney: Entre 200000.3648 y 200000.3647 aprox. Para todos los tipos numricos: - si intentamos ingresar un valor fuera de rango, no lo permite. - si ingresamos una cadena, SQL Server intenta convertirla a valor numrico, si dicha cadena consta solamente de dgitos, la conversin se realiza, luego verifica si est dentro del rango, si es as, la ingresa, sino, muestra un mensaje de error y no ejecuta la sentencia. Si la cadena contiene caracteres que SQL Server no puede convertir a valor numrico, muestra un mensaje de error y la sentencia no se ejecuta. Por ejemplo, definimos un campo de tipo decimal(5,2), si ingresamos la cadena 12.22, la convierte al valor numrico 12.22 y la ingresa; si intentamos ingresar la cadena 1234.56, la convierte al valor numrico 1234.56, pero como el mximo valor permitido es 999.99, muestra un mensaje indicando que est fuera de rango. Si intentamos ingresar el valor 12y.25, SQL Server no puede realizar la conversin y muestra un mensaje de error. Es importante elegir el tipo de dato adecuado segn el caso, el ms preciso. Por ejemplo, si un campo numrico almacenar valores positivos menores a 255, el tipo int no es el ms adecuado, conviene

el tipo tinyint, de esta manera usamos el menor espacio de almacenamiento posible. Si vamos a guardar valores monetarios menores a 200000 conviene emplear smallmoney en lugar de money.

Tipo Bytes de almacenamiento _______________________________________ int 4 smallint 2 tinyint 1 bigint 8 decimal float real money smallmoney 2 a 17 4 u 8 4 u 8 8 4
About these ads

Definicin de Microsoft SQL Server Microsoft SQL Server es un sistema de gestin de bases de datos relacionales (SGBD) basado en el lenguaje Transact-SQL, y especficamente en Sybase IQ. Este motor de base de datos admite multitud de usuarios conectados a la base de datos de forma simultnea y concurrente. Algunas de las caractersticas de Microsoft SQL Server:

Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye tambin un potente entorno grfico de administracin, que permite el uso de comandos DDL y DML grficamente. Permite trabajar en modo cliente-servidor, donde la informacin y datos se alojan en el servidor y las terminales o clientes de la red slo acceden a la informacin.

Permite administrar informacin de otros servidores de datos.

Este sistema de gestin de bases incluye una versin reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos ms pequeos, que en su versin 2005 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.

Tipos de datos de Microsoft SQL Server A continuacin 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):
Grupo Tipo de dato bigint int smallint tinyint bit Intervalo De -263 (-9.223.372.036.854.775.808) a 263 - 1 (9.223.372.036.854.775.807) De -231 (-2.147.483.648) a 231 - 1 (2.147.483.647) De -215 (-32.768) a 215 - 1 (32.767) De 0 a 255 Tipo de datos entero que puede aceptar los valores 1, 0 NULL Almacenamiento 8 bytes 4 bytes 2 bytes 1 byte 2 bytes

Numricos exactos decimal, numeric, decimal (p, s)

p (precisin): el nmero total mximo de dgitos decimales que se puede almacenar, tanto a la izquierda como a la derecha del separador decimal. La precisin debe ser un valor comprendido entre 1 y la precisin mxima de 38. La precisin predeterminada es 18. s (escala): el nmero mximo de dgitos decimales que se puede almacenar a la derecha del separador decimal. La escala debe ser un valor comprendido entre 0 y p. Slo es posible especificar la escala si se ha especificado la precisin. La escala predeterminada es 0.

Precisin 1 - 9: 5 bytes

Con precisin mxima 1038 +1 y 1038 - 1 money smallmoney float real datetime Fecha y hora smalldatetime char (n) Cadenas de caracteres varchar (n) Del 1 de enero de 1900 hasta el 6 de junio de 2079 Caracteres no Unicode de longitud fija, con una longitud de n bytes. n debe ser n bytes un valor entre 1 y 8.000 Caracteres no Unicode de longitud variable. n indica que el tamao de almacenamiento mximo es de 231 - 1 bytes n bytes (aprox.) Tipos de datos que representan valores monetarios o de moneda: de 922.337.203.685,4775808 a 922.337.203.685,4775807 De - 214,7483648 a 214,7483647 De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308 De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38 Del 1 de enero de 1753 hasta el 31 de diciembre de 9999 8 bytes 4 bytes Depende del valor de n 4 Bytes

Numricos aproximados

En desuso, sustituido por varchar.


text max bytes (aprox.)

Datos no Unicode de longitud variable con una longitud mxima de 231 - 1 (2.147.483.647) caracteres
nchar (n) Datos de carcter Unicode de longitud fija, con n caracteres. n debe estar comprendido entre 1 y 4.000 2 * n bytes

Cadenas de caracteres unicode

nvarchar (n)

Datos de carcter Unicode de longitud variable. n indica que el tamao mximo 2 * n bytes + 2 de almacenamiento es 231 - 1 bytes bytes

En desuso, sustituido por nvarchar.


ntext (n) 2 * n bytes

Datos Unicode de longitud variable con una longitud mxima de 230 - 1 (1.073.741.823) caracteres
binary (n) Datos binarios de longitud fija con una longitud de n bytes, donde n es un valor n bytes que oscila entre 1 y 8.000 Datos binarios de longitud variable. n indica que el tamao de almacenamiento n bytes mximo es de 231 - 1 bytes

Cadenas binarias

varbinary (n)

En desuso, sustituido por varbinary.


image

Datos binarios de longitud variable desde 0 hasta 231 - 1 (2.147.483.647) bytes


Tipo de datos para las variables o para los parmetros de resultado de los procedimientos almacenados que contiene una referencia a un cursor. Las variables creadas con el tipo de datos cursor aceptan NULL Tipo de datos que expone nmeros binarios nicos generados automticamente en una base de datos. El tipo de datos timestamp es simplemente un nmero que se incrementa y no conserva una fecha o una hora Tipo de datos que almacena valores de varios tipos de datos aceptados en SQL Server, excepto text, ntext, image, timestamp y sql_variant Es un GUID (Globally Unique Identifier, Identificador nico Global) Es un tipo de datos especial que se puede utilizar para almacenar un conjunto de resultados para su procesamiento posterior. table se utiliza principalmente para el almacenamiento temporal de un conjunto de filas devuelto como el conjunto de resultados de una funcin con valores de tabla 16 bytes

cursor

timestamp

8 bytes

Otros tipos de datos

sql_variant uniqueidentifier

table

xml

Almacena datos de XML. Puede almacenar instancias de xml en una columna o una variable de tipo xml

Tipos de datos (Transact-SQL)

SQL Server 2012 Otras versiones

Personas que lo han encontrado til: 22 de 29 - Valorar este tema En SQL Server, cada columna, variable local, expresin y parmetro tiene un tipo de datos relacionado. Un tipo de datos es un atributo que especifica el tipo de datos que el objeto puede contener: datos de enteros, datos de caracteres, datos de moneda, datos de fecha y hora, cadenas binarias, etc. SQL Server proporciona un conjunto de tipos de datos del sistema que define todos los tipos de datos que pueden utilizarse con SQL Server. Tambin puede definir sus propios tipos de datos en Transact-SQL o Microsoft .NET Framework. Los tipos de datos de alias estn basados en los tipos de datos proporcionados por el sistema. Para obtener ms informacin acerca de los tipos de datos de alias, vea CREATE TYPE (Transact-SQL). Los tipos definidos por el usuario obtienen sus caractersticas de los mtodos y los operadores de una clase que se crean mediante uno de los lenguajes de programacin compatibles con .NET Framework. Cuando dos expresiones que tienen tipos de datos, intercalaciones, precisin, escala o longitud diferentes son combinadas por un operador, las caractersticas del resultado vienen determinadas por lo siguiente:

El tipo de datos del resultado viene determinado por la aplicacin de las reglas de precedencia de tipos de datos a los tipos de datos de las expresiones de entrada. Para obtener ms informacin, vea Prioridad de tipo de datos (TransactSQL). La intercalacin del resultado viene determinada por las reglas de precedencia de intercalacin cuando el tipo de datos del resultado es char, varchar, text, nchar, nvarchar o ntext. Para obtener ms informacin, vea Prioridad de intercalacin (TransactSQL). La precisin, escala y longitud del resultado dependen de la precisin, escala y longitud de las expresiones de entrada. Para obtener ms informacin, vea Precisin, escala y longitud (Transact-SQL).

SQL Server proporciona sinnimos de tipos de datos para la compatibilidad con ISO. Para obtener ms informacin, vea Sinnimos de tipos de datos (Transact-SQL). Categoras de tipos de datos

Los tipos de datos de SQL Server se organizan en las siguientes categoras: Numricos exactos Cadenas de caracteres Unicode Numricos aproximados Cadenas binarias Fecha y hora Otros tipos de datos Cadenas de caracteres En SQL Server, segn las caractersticas de almacenamiento, algunos tipos de datos estn designados como pertenecientes a los siguientes grupos:

Tipos de datos de valores grandes: varchar(max), nvarchar(max) y varbinary(max) Tipos de datos de objetos grandes: text, ntext, image, varchar(max), nvarchar(max), varbinary(max) y xml

Das könnte Ihnen auch gefallen