Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

2008-11-17 00:00:00 .....

0 views
Skip to first unread message

samuel

unread,
Jun 30, 2009, 8:50:45 AM6/30/09
to
encore ce format de timestamp qui m'embete...
quand je veux r�cuperer la date, il me sort qque chose du type:
2008-11-17 00:00:00

bon, �a j'ai pu me d�brouiller, mais par contre, dans ma requete sql
je sais pas quoi comparer � �a..
je peux pas comparer le vrai timestamps, �a marche pas; et ac qque
chose du type 2008-11-17 00:00:00 �a marche pas non plus....

que faire? :s
merci d'avance!

Olivier Miakinen

unread,
Jun 30, 2009, 8:56:22 AM6/30/09
to
Bonjour,

Le 30/06/2009 14:50, samuel a ᅵcrit :


> encore ce format de timestamp qui m'embete...

> quand je veux rᅵcuperer la date, il me sort qque chose du type:
> 2008-11-17 00:00:00
>
> bon, ᅵa j'ai pu me dᅵbrouiller, mais par contre, dans ma requete sql
> je sais pas quoi comparer ᅵ ᅵa..

Partant d'un timestamp unix, tu peux obtenir le format que tu veux avec
la fonction date : <http://fr3.php.net/manual/fr/function.date.php>.

samuel

unread,
Jun 30, 2009, 10:25:53 AM6/30/09
to
On 30 juin, 14:56, Olivier Miakinen <om+n...@miakinen.net> wrote:
> Bonjour,
>
> Le 30/06/2009 14:50, samuel a �crit :

>
> > encore ce format de timestamp qui m'embete...
> > quand je veux r�cuperer la date, il me sort qque chose du type:
> > 2008-11-17 00:00:00
>
> > bon, �a j'ai pu me d�brouiller, mais par contre, dans ma requete sql
> > je sais pas quoi comparer � �a..

>
> Partant d'un timestamp unix, tu peux obtenir le format que tu veux avec
> la fonction date : <http://fr3.php.net/manual/fr/function.date.php>.

oui ms pb, cest la base de donn�es, quand je lui donne un timestamp,
elle enregistre un 2008-11-17 00:00:00...
du coup je peux le comparer � quoi ? " WHERE 12I5536< date " ne marche
pas, pas plus que " WHERE 2006-11-17 00:00:0< date "... (num�ros au
pif)

Olivier Miakinen

unread,
Jun 30, 2009, 10:37:03 AM6/30/09
to
Le 30/06/2009 16:25, samuel a ᅵcrit :
>
> oui ms pb, cest la base de donnᅵes, quand je lui donne un timestamp,

> elle enregistre un 2008-11-17 00:00:00...

Non. Je ne suis pas un pro en bases de donnᅵes, mais le peu que j'ai lu
de la doc MySQL m'a convaincu que, si tu as dᅵfini un type TIMESTAMP, la
date est stockᅵe sous la forme d'un entier, et que c'est ᅵ la lecture
que tu peux demander ᅵ la recevoir dans le format que *tu* veux, selon
une syntaxe que je n'ai pas cherchᅵ ᅵ retenir.

> du coup je peux le comparer ᅵ quoi ? " WHERE 12I5536< date " ne marche
> pas, pas plus que " WHERE 2006-11-17 00:00:0< date "... (numᅵros au
> pif)

Eh bien lis donc la doc de ta base de donnᅵes quelle qu'elle soit
(MySQL si c'est le cas mais tu ne l'as pas prᅵcisᅵ), puis si tu as
encore des questions tu pourras les poser sur le forum consacrᅵ aux
bases de donnᅵes, fr.comp.applications.sgbd, vers oᅵ je fais suivre
la discussion.

Cordialement,
--
Olivier Miakinen

Xavier Nayrac

unread,
Jun 30, 2009, 3:09:58 PM6/30/09
to
> pas, pas plus que " WHERE 2006-11-17 00:00:0< date "... (num�ros au

Avec des guillemets peut-�tre ?

WHERE date > '2006-11-17'

--
Xavier Nayrac
http://personalbugtracker.free.fr

Aurelgadjo

unread,
Jun 30, 2009, 3:09:58 PM6/30/09
to
Olivier Miakinen a ᅵcrit :

>> du coup je peux le comparer ᅵ quoi ? " WHERE 12I5536< date " ne marche
>> pas, pas plus que " WHERE 2006-11-17 00:00:0< date "... (numᅵros au
>> pif)
>
> Eh bien lis donc la doc de ta base de donnᅵes quelle qu'elle soit
> (MySQL si c'est le cas mais tu ne l'as pas prᅵcisᅵ), puis si tu as
> encore des questions tu pourras les poser sur le forum consacrᅵ aux
> bases de donnᅵes, fr.comp.applications.sgbd, vers oᅵ je fais suivre
> la discussion.

Au dᅵbut quand j'ai commencᅵ php/mysql je stockais mes timestamp dans
des INT. comme ᅵa pas de soucis du genre.
Mais vu qu'il y a des choses de prᅵvues par MySQL ᅵ ce niveau, autant
les utiliser.
J'utilise donc les time "date" et "datetime". Et quand tu veux rᅵcupᅵrer
un timestamp, il y a la fonction (sql ? mysql ?) UNIX_TIMESTAMP.
Comme le dit la doc :
mysql> SELECT UNIX_TIMESTAMP();
-> 882226357
mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580

( http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html )

ps : dᅵsolᅵ pour le crosspost repositionnᅵ mais au moins la rᅵponse sera
dans le forum oᅵ a ᅵtᅵ posᅵe la question... Et je laisse le suivi pour
le cas oᅵ des avis plus ᅵclairᅵs auraient des critiques ᅵ faire :)

Mickael Wolff

unread,
Jun 30, 2009, 5:32:09 PM6/30/09
to
samuel a �crit :

> 2008-11-17 00:00:00
>
> bon, �a j'ai pu me d�brouiller, mais par contre, dans ma requete sql
> je sais pas quoi comparer � �a..

Ce format permet d'utiliser les capacit�s de comparaison des cha�nes.
Tu as la garantie que l'ordre sera correctement pris en compte, de l'an
0 � 9999 (contra�rement au timestamp).

Mais attention, si tu ne souhaites que stocker la date pour un
enregistrement, il faut utiliser un champ de type date. Ici tu as
choisis un datetime.

create table dummy ( d date, dt datetime) ;

select * from dummy where d = '2009-10-12' ;
select * from dummy where date(dt) = '2009-10-12' ;
select * from dummy where d between '2009-01-12' and date(now()) ;

J'ai d�j� vu la chose suivante :

select * from dummy where dt like '2009-10-12%' ;

C'est une ignominie qui en plus d'�tre inefficace n'exploite pas la
s�mantique des requ�te SQL.

--
Micka�l Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>

0 new messages