Hola Ecfisa
Gracias por responder tan rapida, mi a continuacion te muestro mi consulta:
Código SQL
[-] SELECT a.N_Maquina,b.Maquina,a.Horometro,a.Cod_Operador,c.Trabajador,a.Cod_Cancha,d.cancha,a.Cod_Insumo,e.D escripCorta,a.Cantidad , NroReferencia,
CASE
WHEN Importado = '1' then 'Importado'
WHEN Importado = '0' then 'No Importado'
ELSE ''
END AS Estado,
FechaHora=convert(datetime,(substring(a.fecha_hora,0,21)),103)
FROM SCGT_TempGE a, Maquinas b,Trabajadores c, Canchas d, Exit_Articulos e
WHERE a.N_Maquina= b.N_Maquina
and a.cod_Operador = c.Cod_Trabajador
and a.Cod_Cancha = d.Cod_Cancha
and a.Cod_Insumo = e.CodigoArticulo
and ((@xfecha = '') OR (@xfecha <> '' And Fecha_Hora Between @Fecha_Hora+' '+'CLT' And @xFecha+' '+'CLT'))
and ((@xmaquina = '') OR (@xmaquina <> '' And a.N_Maquina = @xMaquina))
and ((@xcancha = '') OR (@xCancha <> '' And a.Cod_Cancha = @xCancha))
El que filtra abajo XFecha= Lleva 22/05/2013 09:49 lo estaba tratando de solucionar concatenando 'CLT', pero que pasara cuando cambie :S
ES SQL 2000 Y Delphi
Saludos
Cita:
Empezado por ecfisa
Hola Cristhor1982.
Nos das pocos datos como para ser muy específicos...
Dependiendo de el RDBMS que estes usando la sintáxis va a variar, pero podes hacer el filtrado desde una consulta.
Tomando en cuenta que para que el campo FECHA_HORA sea un valor de fecha válido nos "molestan" los últimos caracteres, en Firebird se podría hacer:
Código SQL [-]
SELECT *
FROM TU_TABLA
WHERE CAST(SUBSTRING(FECHA_HORA FROM 1 FOR CHAR_LENGTH(FECHA_HORA)-4) AS TIMESTAMP)
BETWEEN :DESDE AND :HASTA
Saludos.
|