Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2010, 10:09
ashidalgov
 
Fecha de Ingreso: mayo-2009
Mensajes: 142
Antigüedad: 15 años, 8 meses
Puntos: 0
Ayuda en la siguiente consulta sql

Tengo las siguientes tablas:
guia cuyos campos son:
gui_idguia char (15)
gui_total numeric (16,2)
est_idestacion char(3)

factura cuyos campos son:
fact_fech_emi smalldatetime
fact_num char(10)
fact_nombre_consum char (50)
fact_anulada char (1)

El resultado es el siguiente:
fact_fech_emi gui_idguia fact_num fact_nombre_consum gui_total
2009-12-23 2135281890 31566 TAKASHI FUNAKOSHI 1431.49
2009-12-23 2135281886 15947 FARIZA MANZURI FLOR 30.08

fact_anulada est_idestacion
NULL JPR
NULL BGN

Lo que quiero es que me ayuden con la siguiente consulta que me sale error:

declare @fecha_ini datetime;
declare @fecha_fin datetime;
declare @estaciones varchar (3)
set @fecha_ini = '2009-12-23'
set @fecha_fin = '2010-01-25'
set @estaciones = 'JPR'

select fact_fech_emi, guia.gui_idguia, fact_num, fact_nombre_consum, gui_total, fact_anulada
from factura inner join guia on guia.gui_idguia = factura.gui_idguia
where fact_fech_emi between '@fecha_ini' and '@fecha_fin' and est_idestacion in ('@estaciones')

El error es el siguiente:
Msg 242, Level 16, State 3, Line 4
La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo.
Msg 242, Level 16, State 3, Line 5
La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo.
Msg 295, Level 16, State 3, Line 9
Error de conversión al convertir una cadena de caracteres al tipo de datos smalldatetime.

Por favor ayudenme con esta consulta.
Gracias