Yo siempre aconsejo que las fechas se guarden en la BD usando el timestamp de UNIX, se consigue usando la funcion
time(). Despues usando la funcion
mktime() podremos crear busquedas mas concretas.
Código PHP:
//Noticias mayores 2008
$year = mktime(0,0,0,0,0,2008);
$sql = "SELECT * FROM noticias WHERE fecha > ".$year;
//Concretar mas: Mayores que Julio 2008
$year = mktime(0,0,0,0,7,2008);
$sql = "SELECT * FROM noticias WHERE fecha > ".$year;
//Mayores de 2006 y menores de 2008
$year1 = mktime(0,0,0,0,0,2006);
$year2 = mktime(0,0,0,0,0,2008);
$sql = "SELECT * FROM noticias WHERE fecha > ".$year1." AND fecha < ".$year2;
//Y asi hay muchas formas y combinaciones
Además usando después la funcion
date podremos dar el formato que queramos a las fechas.