query entre fechas

08/08/2007 - 07:32 por fer | Informe spam
Hola, grupo estoy lidiando a estas horas de la noche con una consulta
de 2 parametros fechas entre 2 campos fechas. Parece facil pero no lo
puedo ver...
La pregunta es como hago para que la siguiente select me devuelva
tambien los datos del id 1. Es decir, yo quiero que me devuelve
aquellos registros que estan parcial o totalmente dentro del rango
'20070806' and '20070809'
Gracias de antemano, saludos fer.

create database pruebas
go
use pruebas
go
create table fechas(id int,fechaDesde datetime, fechaHasta datetime)
go
insert into fechas values(1,'20070805 00:00:00:000', '20070810
00:00:00:000')
insert into fechas values(2,'20070805 00:00:00:000', '20070809
00:00:00:000')
insert into fechas values(3,'20070809 00:00:00:000', '20070809
00:00:00:000')


select *

From fechas


where fechadesde between '20070806' and '20070809'
or fechahasta between '20070806' and '20070809'

id fechaDesde
fechaHasta

2 2007-08-05 00:00:00.000
2007-08-09 00:00:00.000
3 2007-08-09 00:00:00.000
2007-08-09 00:00:00.000
 

Leer las respuestas

#1 Maxi
08/08/2007 - 15:03 | Informe spam
Fer si usas between no va a funcionar asi como lo estas haciendo porque no
estas incluyendo las horas, fijate de usar:

where fechadesde >= '20070806' and fechadesde < '20070810'



Salu2

Microsoft MVP SQL Server
Culminis Speaker

"fer" escribió en el mensaje
news:
Hola, grupo estoy lidiando a estas horas de la noche con una consulta
de 2 parametros fechas entre 2 campos fechas. Parece facil pero no lo
puedo ver...
La pregunta es como hago para que la siguiente select me devuelva
tambien los datos del id 1. Es decir, yo quiero que me devuelve
aquellos registros que estan parcial o totalmente dentro del rango
'20070806' and '20070809'
Gracias de antemano, saludos fer.

create database pruebas
go
use pruebas
go
create table fechas(id int,fechaDesde datetime, fechaHasta datetime)
go
insert into fechas values(1,'20070805 00:00:00:000', '20070810
00:00:00:000')
insert into fechas values(2,'20070805 00:00:00:000', '20070809
00:00:00:000')
insert into fechas values(3,'20070809 00:00:00:000', '20070809
00:00:00:000')


select *
From fechas


where fechadesde between '20070806' and '20070809'
or fechahasta between '20070806' and '20070809'

id fechaDesde
fechaHasta

2 2007-08-05 00:00:00.000
2007-08-09 00:00:00.000
3 2007-08-09 00:00:00.000
2007-08-09 00:00:00.000

Preguntas similares