Re: Requète MySQL

Page principale

Répondre à ce message
Auteur: Frédéric
Date:  
À: guilde
Sujet: Re: Requète MySQL
On Friday 25 August 2006 19:41, sylvain letuffe wrote:

> Etape 1)
> sauf réelle contre-indication, il est préférable d'utiliser un champ de
> type DATETIME qui à comme format : "YYYY-MM-JJ HH:mm:ss"
>
> tu galèreras beaucoup moins pour les requêtes qu'avec tes deux champs
>
> pour se faire, tu créer le champs date_time et tu le mets à jour avec un
> truc genre :
> UPDATE table set date_time=CONCAT(date," ",time)
>
> Etape 2)
> ensuite une requête du type :
>
> SELECT * from table
> where
> (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(date_time)<600) /*600 secondes */
>     order by date_time DESC
>     LIMIT 0,1
> devrait faire l'affaire


En fait, il y a un champ timestamp dans la table, mais de type int ; Mais
ça marche très bien avec ton test ci-dessus. Donc je n'ai rien à
modifier ;o)

On Friday 25 August 2006 19:45, pansanel@??? wrote:

> Voici une solution :
> SELECT * FROM my_table WHERE CURDATE() <
> ADDDATE(my_table.date,laps_de_temps) ORDER BY date DESC LIMIT 1;
>
> Il existe la meme variante ave ADDTIME pour le champs de type TIME.
> Tu trouveras plus d'informations sur le site :
> http://www.mysql.org/doc/refman/4.1/en/date-and-time-functions.html


En utilisant date_time, comme Sylvain l'a suggéré, ou timestamp, on combine
les 2 tests.

Merci à tous les 2 !

PS : pour info, il s'agit du soft de dialogue avec la station météo
Lacrosse ws2300, dont on a parlé le mois dernier ; j'en ai acheté une sur
ebay (occase à 65€), et ça marche nickel !

--
Frédéric

http://www.gbiloba.org