Pouvez vous m'expliquer cette requête svp?

Pouvez vous m'expliquer cette requête svp? - SQL/NoSQL - Programmation

Marsh Posté le 28-06-2009 à 15:51:13    

Hello, j'ai une requête sql qui est utilisée dans un code que j'ai a modifier, j'arrive a l'utiliser sans soucis mais je ne comprends pas ce que fait exactement une ligne :  
 


SELECT images.id,images.idutilisateur,images.datedebut
  FROM images,utilisateurs WHERE
  images.idutilisateur = utilisateurs.id
  AND (DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(utilisateurs.naissance)), '%Y')+0) between ? and ?
  AND utilisateurs.sexe = ?
  AND images.statut = 1
  ORDER BY utilisateurs.id


 
la ligne qui me pose problème est le (DATE_FORMAT(FROM DAYS.....
 
C'est visiblement des fonctions mais je n'arrive pas a les "empiler" et a m'imaginer ce qui se passe réellement :/


---------------
204 - No Content
Reply

Marsh Posté le 28-06-2009 à 15:51:13   

Reply

Marsh Posté le 28-06-2009 à 17:33:38    

le nombre d'année depuis la naissance


---------------

Reply

Marsh Posté le 28-06-2009 à 18:57:27    

désolé mais ca n'est toujours pas clair dans mon esprit :whistle:


---------------
204 - No Content
Reply

Marsh Posté le 28-06-2009 à 19:22:52    

http://dev.mysql.com/doc/refman/5. [...] tions.html


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 29-06-2009 à 10:32:46    

TO_DAYS(NOW()) - TO_DAYS(utilisateurs.naissance) permet de calculer le nombre de jours entre "now" et la date de naissance.
A partir de là, il reconvertit ce résultat en une "date" (entier -> date), ce qui lui permet d'y appliquer la fonction DATE_FORMAT pour récupérer l'année correspondante.
Mais DATE_FORMAT renvoie une chaîne de caractère alors il fait un "+0" pour convertir en entier.
 
CQFD :sol:

Reply

Marsh Posté le 29-06-2009 à 11:39:55    

ok merci c'est plus clair d'un coup :d


---------------
204 - No Content
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed