IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Timestamp moins 24 heures


Sujet :

PostgreSQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Par défaut Timestamp moins 24 heures
    Bonjour,

    Dans une table, j'ai un champ de type timestamp.
    Je souhaite récupérer tous les champs qui sont compris entre un
    timestamp et timestamp-24heures.
    Exemple :
    Table test
    nom text
    ts timestamp

    Je voudrais faire un truc du style :
    Soit subquery une sous requête retournant un timestamp
    SELECT nom FROM test
    WHERE ts BETWEEN
    (subquery1)
    AND
    (subquery1)-24

    j'espère être claire...
    merci d'avance

  2. #2
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Salut,

    Pourquoi veux-tu faire une sous-requête ? Pour récupérer un timestamp d'une autre table ? Si c'est le cas, il vaut mieux la mettre dans le FROM pour qu'elle ne s'exécute qu'une seule fois.

    En tout cas, pour calculer une date à partir d'une autre, on peut utiliser INTERVAL (http://www.postgresql.org/docs/7.4/i...datetime.html).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT nom
    FROM test, (SELECT ... AS dateDebut FROM ...) dt
    WHERE ts BETWEEN dt.dateDebut AND dt.dateDebut - INTERVAL '1 day'

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Par défaut
    Citation Envoyé par Biglo
    Salut,

    Pourquoi veux-tu faire une sous-requête ? Pour récupérer un timestamp d'une autre table ? Si c'est le cas, il vaut mieux la mettre dans le FROM pour qu'elle ne s'exécute qu'une seule fois.

    En tout cas, pour calculer une date à partir d'une autre, on peut utiliser INTERVAL (http://www.postgresql.org/docs/7.4/i...datetime.html).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT nom
    FROM test, (SELECT ... AS dateDebut FROM ...) dt
    WHERE ts BETWEEN dt.dateDebut AND dt.dateDebut - INTERVAL '1 day'
    sublime !
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Doctrine] Timestampable à la bonne heure
    Par Mordri dans le forum ORM
    Réponses: 3
    Dernier message: 01/06/2011, 16h59
  2. soustraction timestamp avec une heure en trop ?
    Par groskanel dans le forum Langage
    Réponses: 9
    Dernier message: 03/03/2011, 18h13
  3. Réponses: 0
    Dernier message: 26/08/2008, 10h48
  4. Réponses: 4
    Dernier message: 19/03/2008, 11h50
  5. Réponses: 1
    Dernier message: 01/06/2006, 23h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo