Hola Compañeros...
No entendí muy bien qué es lo que está haciendo Libras, pero funciona jejeje... yo pensé en otra solución un poco más sencilla
Código SQL:
Ver originalDECLARE @DeFecha CHAR(11)
SET @DeFecha = '2011-08-08'
DECLARE @HastaFecha CHAR(11)
SET @HastaFecha = '2011-08-10'
DECLARE @DeHora CHAR(8)
SET @DeHora = '08:30:00'
DECLARE @HastaHora CHAR(8)
SET @HastaHora = '09:00:00'
DECLARE @Fechas TABLE (fecha datetime)
INSERT INTO @Fechas VALUES ('2011-08-08 08:30:00.000')
INSERT INTO @Fechas VALUES ('2011-08-08 09:30:00.000')
INSERT INTO @Fechas VALUES ('2011-08-08 10:15:00.000')
INSERT INTO @Fechas VALUES ('2011-08-08 12:30:00.000')
INSERT INTO @Fechas VALUES ('2011-08-09 08:45:00.000')
INSERT INTO @Fechas VALUES ('2011-08-09 09:25:00.000')
INSERT INTO @Fechas VALUES ('2011-08-09 20:45:00.000')
INSERT INTO @Fechas VALUES ('2011-08-10 08:32:00.000')
INSERT INTO @Fechas VALUES ('2011-08-10 08:49:00.000')
INSERT INTO @Fechas VALUES ('2011-08-10 16:45:00.000')
SELECT
CONVERT(VARCHAR, fecha, 103),
CONVERT(VARCHAR, fecha, 108)
FROM @Fechas
WHERE
CONVERT(datetime, CONVERT(VARCHAR, fecha, 103), 103)
BETWEEN CONVERT(datetime, @DeFecha, 103) AND CONVERT(datetime, @HastaFecha, 103) AND
CONVERT(datetime, CONVERT(VARCHAR, fecha, 108), 108)
BETWEEN CONVERT(datetime, @DeHora, 108) AND CONVERT(datetime, @HastaHora, 108)
/*
fecha
-----------------------
2011-08-08 08:30:00.000
2011-08-09 08:45:00.000
2011-08-10 08:32:00.000
2011-08-10 08:49:00.000
*/
Dale un vistazo para ver si te sirve... y si no, pues está la solución de Libras.
Ojo con los espacios... Efectivamente causan problemas al copiar y pegar directamente en el Managment Studio
Saludos
Leo.