substr et DISTINCT

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : substr et DISTINCT

Re: substr et DISTINCT

par pjl » 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';

par zeus » 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

par pascaltje » 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

par zeus » 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

par Invité » 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 :)

par pjl » 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

par zeus » 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

substr et DISTINCT

par Elie » 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 ?