Extraction de l'année dans un champ date

VaN
Mammouth du PHP | 1107 Messages

01 août 2006, 11:26

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";
?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

01 août 2006, 11:32

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

VaN
Mammouth du PHP | 1107 Messages

01 août 2006, 12:01

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

01 août 2006, 12:07

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

VaN
Mammouth du PHP | 1107 Messages

01 août 2006, 12:13

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

VaN
Mammouth du PHP | 1107 Messages

01 août 2006, 12:19

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