Page 1 sur 1

Extraction de l'année dans un champ date

Posté : 01 août 2006, 11:26
par VaN
Bonjour,

Tout est dans le titre il me semble. J'ai un champ date_ajout dans une table, de type date (YYYY-MM-DD), et j'aimerais, à partir de ma requete SQL, ne récuperer que la partie YYYY, et si possible, par dessu, rajouter un DISTINCT, car la requete va parcourir la table, et je ne veux recuperer qu'une occurence chaque année.

Comment dois-je formuler ma requete ?

D'apres quelques sources sur le web, j'ai tenté ça, sans succès :
$sql_list_date = "SELECT EXTRACT DISTINCT(YEAR FROM TIMESTAMP 'date_ajout') AS date 
FROM galeries 
ORDER BY date_ajout DESC";
?>

Posté : 01 août 2006, 11:32
par zeus
la fonction MySQL YEAR(date) (cherche YEAR(date) dans la page) te permet de ne conserver que l'année d'une date.

Avec ça, tu devrais arriver à faire ce que tu désires

Posté : 01 août 2006, 12:01
par VaN
Ok, j'arrives à ne plus avoir d'erreur SQL, par contre, dans phpmyadmin, il me sort une liste de NULL : /

gal_date
NULL
NULL
NULL
NULL
NULL


voilà la requete :
SELECT YEAR('date_ajout') AS gal_date FROM galeries ORDER BY gal_date DESC
Dans le ORDER BY, je dois mettre mon champs renommé, ou le nom d'origine ? J'ai essayé avec les deux, meme resultats.

Posté : 01 août 2006, 12:07
par zeus
C'est que tu doit avoir des dates qui ne sont pas renseignées ... :-k

Essaye de commencer par vérifier que tu as des dates qui ne sont pas renseignées pour s'assurer qu'il n'y a pas d'erreur, ensuite il ne te restera qu'a ne pas les sélectionner en ajoutant un WHERE à ta requete

Posté : 01 août 2006, 12:13
par VaN
Effectivement, ça peut etre le cas. Je suis stagiaire, j'ai accès au ftp, mais d'accès direct à la bdd, je vais me faire une petite requete simplifiée pour voir ça : )

je te tiens au courant

Posté : 01 août 2006, 12:19
par VaN
Toutes mes dates sont renseignées on dirait : /

trouvé, la syntaxe exacte n'est pas

SELECT YEAR('date_ajout') AS gal_date FROM galeries ORDER BY gal_date DESC

mais

SELECT YEAR(date_ajout) AS gal_date FROM galeries ORDER BY gal_date DESC