You are on page 1of 5

VARIABLES

Las variables nos permiten almacenar un valor y recuperarlo ms adelante para emplearlos en
otras sentencias. Las variables de usuario son especficas de cada conexin y son liberadas
automticamente al abandonar la conexin. Las variables de usuario comienzan con "@"
(arroba) seguido del nombre (sin espacios), dicho nombre puede contener cualquier
caracter.Una variable debe ser declarada antes de usarse. Una variable local se declara as:
Declare @NOMBREVARIABLE TIPO

Colocando "declare" el nombre de la variable que comienza con el smbolo arroba (@) y el tipo
de dato. Ejemplo:
Declare @nombre varchar(20)

Puede declarar varias variables en una misma sentencia:
Declare @nombre varchar(20), @edad int

No existen variables globales en SQL Server.Una variable declarada existe dentro del entorno
en que se declara; debemos declarar y emplear la variable en el mismo lote de sentencias,
porque si declaramos una variable y luego, en otro bloque de sentencias pretendemos
emplearla, dicha variable ya no existe. Por ejemplo, si ejecutamos estas sentencias en diferentes
lotes:

declare @variable varchar(10); select @variable;
aparece un mensaje indicando que la variable "@variable" debe ser declarada.
Debemos tipear:
declare @variable varchar(10)
select @variable;

Disponemos punto y coma solo al final de la ltima instruccin del lote. Una variable a la cual no
se le ha asignado un valor contiene "null".Se le asigna un valor inicial con "set":
set @edad=45
Para almacenar un valor en una variable se coloca el signo igual (=) entre la variable y el valor a
asignar.
Si le asignamos un valor resultado de una consulta, la sintaxis es:
select @nombre = autor from libros where titulo='Uno'

Podemos ver el contenido de una variable con:
select @nombre;

Una variable puede tener comodines:
declare @patron varchar(30)
set @patron='B%'
select autor
from libros
where autor like @patron;

La utilidad de las variables consiste en que almacenan valores para utilizarlos en otras
consultas.Por ejemplo, queremos saber todos los datos del libro con mayor precio de la tabla
"libros" de una librera. Para ello podemos emplear una variable para almacenar el precio ms
alto:

declare @mayorprecio
select @mayorprecio:=max(precio) from libros
y luego mostrar todos los datos de dicho libro empleando la variable anterior:
select *from libros
where precio=@mayorprecio;

Es decir, declaramos la variable y guardamos en ella el precio ms alto y luego, en otra
sentencia, mostramos los datos de todos los libros cuyo precio es igual al valor de la variable.
Una variable puede ser definida con cualquier tipo de dato, excepto text, ntext e image; incluso
de un tipo de dato definido por el usuario.

TIPOS DE DATOS 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 valores -32768 a 32767.
Int: Una columna o variable de tipo int puede almacenar el rango de valores -2
31
a 2
31
-1.
BigInt: Una columna o variable de tipo bigint puede almacenar el rango de valores -2
63
a 2
63
-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-10
308
a 1,79x-10
308,
, 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-10
38
a 3,4x-10
38,

Money: Almacena valores numricos monetarios de -2
63
a 2
63
-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

Datetime: 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 2
31
-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 2
31
-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 2
31
-1 bytes



CAST y CONVERT (Transact-SQL)

Convierte una expresin de un tipo de datos en otro en SQL Server 2008 R2.

Sintaxis

Syntax for CAST:

CAST (expression AS Tipo de Dato)

Syntax for CONVERT:

CONVERT (Tipo de Dato, expression)

Argumentos
expression
Es cualquier expresin vlida.
data_type
Es el tipo de datos de destino. Incluye xml, bigint y sql_variant. No se pueden utilizar tipos de datos
de alias. Para obtener ms informacin acerca de los tipos de datos disponibles, vea Tipos de datos
(Transact-SQL).
length
Es un nmero entero opcional que especifica la longitud del tipo de datos de destino. El valor
predeterminado es 30.
style
Es una expresin de tipo entero que especifica cmo la funcin CONVERT traducir expression. Si
style es NULL, se devuelve NULL. data_type determina el intervalo. Para obtener ms informacin,
vea la seccin Comentarios.
Tipos de valor devueltos
Devuelve el tipo expression traducido al tipo data_type.

You might also like