Veamos, llevo ya una semana intentando averiguar como funciona esto y no hay manera.
Tengo una consulta que ataca a una tabla dónde albergan noticias con su titulo y fecha.
Mi objetivo es que dada la selección de un mes y un año me muestren todas las noticias correspondientes, todo esto lo haría con un between.
La cosa es que haciendo pruebas en el sql server ninguna funciona
select *
from noticias
where fecha BETWEEN '01/04/2009' AND '31/04/2009'
select *
from noticias
where fecha BETWEEN 2009/04/01' AND '2009/04/31'
select *
from noticias
where fecha BETWEEN '01-04-2009' AND '31-04-2009'
select *
from noticias
where fecha BETWEEN 2009-04-01' AND '2009-04-31'
select *
from noticias
where fecha BETWEEN '01042009' AND '31042009'
select *
from noticias
where fecha BETWEEN '20090401' AND '20090431'
Y en todas recibo el mismo error 'La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo.'
También probé a quitarle las comillas pero en ese caso la consulta me sale vacía, sin ningún resultado. ¿Alguna sugerencia?