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....
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
On 30 juin, 14:56, Olivier Miakinen <om+ 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)
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)
> 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
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
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.
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
Olivier Miakinen
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
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.
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
Sylvain SF
Olivier Miakinen a écrit :
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.
en l'occurence c'est par defaut une string 'YYYY-MM-DD HH:MM:SS', on peut obtenir la valeur numérique stockée (c'est bien un nombre qui est stocké) par SELECT (myTimeStamp+0)
du coup je peux le comparer à quoi ? " WHERE 12I5536< date " ne marche pas, pas plus que " WHERE 2006-11-17 00:00:0< date "...
"12I5536" ne marche pas ? c'est normal c'est un mix invalide. 2006-11-17 00:00:0 (*sans quote*) ne marche pas, c'est normal c'est également une syntax error.
vos devriez lire les erreurs, au lieu de considérer que "ça marche pas" cela vous montrerait que vos erreurs de syntaxes sont le problème.
sinon, "where t<20090630173100" marche très bien, "where t<'2009-06-30 17:30:00'" marche très bien.
Sylvain.
Olivier Miakinen a écrit :
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.
en l'occurence c'est par defaut une string 'YYYY-MM-DD HH:MM:SS',
on peut obtenir la valeur numérique stockée (c'est bien un nombre
qui est stocké) par SELECT (myTimeStamp+0)
du coup je peux le comparer à quoi ? " WHERE 12I5536< date " ne marche
pas, pas plus que " WHERE 2006-11-17 00:00:0< date "...
"12I5536" ne marche pas ? c'est normal c'est un mix invalide.
2006-11-17 00:00:0 (*sans quote*) ne marche pas, c'est normal
c'est également une syntax error.
vos devriez lire les erreurs, au lieu de considérer que "ça marche pas"
cela vous montrerait que vos erreurs de syntaxes sont le problème.
sinon, "where t<20090630173100" marche très bien,
"where t<'2009-06-30 17:30:00'" marche très bien.
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.
en l'occurence c'est par defaut une string 'YYYY-MM-DD HH:MM:SS', on peut obtenir la valeur numérique stockée (c'est bien un nombre qui est stocké) par SELECT (myTimeStamp+0)
du coup je peux le comparer à quoi ? " WHERE 12I5536< date " ne marche pas, pas plus que " WHERE 2006-11-17 00:00:0< date "...
"12I5536" ne marche pas ? c'est normal c'est un mix invalide. 2006-11-17 00:00:0 (*sans quote*) ne marche pas, c'est normal c'est également une syntax error.
vos devriez lire les erreurs, au lieu de considérer que "ça marche pas" cela vous montrerait que vos erreurs de syntaxes sont le problème.
sinon, "where t<20090630173100" marche très bien, "where t<'2009-06-30 17:30:00'" marche très bien.
Sylvain.
Aurelgadjo
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
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 :)
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
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 :)
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
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 :)
Xavier Nayrac
> pas, pas plus que " WHERE 2006-11-17 00:00:0< date "... (numéros au
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
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 :)
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
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 :)
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
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
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.
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.
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.