substr et DISTINCT

Mammouth du PHP | 1339 Messages

20 oct. 2005, 02:10

Bonjour :)

Je stocke des informations au format date dans un champ 'datetime';

Je voudrais recuperer toutes les differentes années presentes dans ma base de donnes ...

Selon un logique surement pas compatible avec MySQL je pensais a un truc du genre :)

SELECT DiSTINCT substr('datetime',0,4) FROM ma table

Il y a t il quelque chose de semblable ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 09:03

substr est une fonction PHP. tu ne peut donc pas l'utiliser dans une requete SQL.

Mais par contre, tu peut formater la date avant de faire le DISTINCT

Code : Tout sélectionner

SELECT DISTINCT DATE_FORMAT(datetime, '%Y') FROM ma_table
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

ViPHP
pjl
ViPHP | 2119 Messages

20 oct. 2005, 09:15

encore plus simple avec la commande YEAR.
YEAR(date)
Retourne l'année de la date date , dans un intervalle de 1000 à 9999 :
mysql> SELECT YEAR('98-02-03'); -> 1998



mysql> SELECT YEAR('98-02-03'); -> 1998
http://www.nexen.net/docs/mysql/annotee ... ?lien=year

Invité
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 11:01

La reponse de Zeus correspond plus a ma demande :)

Puisque je n'ai pas la valeur de la date a formatée :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 11:05

:shock: Alors, ce qu'il te faut, c'est un mélange des 2 réponses avec la fonction de pjl. Je ne veut pas être méchant mais c'est logique

Tu mets le nom de ton champs dans la fonction Year

Code : Tout sélectionner

SELECT DISTINCT YEAR(datetime) FROM ma_table
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

ViPHP
ViPHP | 1024 Messages

20 oct. 2005, 11:30

substr est une fonction PHP. tu ne peut donc pas l'utiliser dans une requete SQL.
heureusement, en SQL on a SUBSTRING :)

A+

Pascal

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 oct. 2005, 11:35

heureusement, en SQL on a SUBSTRING :)
Tant qu'a donner une réponse, j'ai donné celle qui me semblait la plus adéquate
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

ViPHP
pjl
ViPHP | 2119 Messages

20 oct. 2005, 12:21

La reponse de Zeus correspond plus a ma demande :)

Puisque je n'ai pas la valeur de la date a formatée :)
ta date est déjà formatée. Tu l'as toi même écrit.
Je stocke des informations au format date dans un champ 'datetime';