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

Requêtes PostgreSQL Discussion :

interval dans une requête select


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 163
    Points : 45
    Points
    45
    Par défaut interval dans une requête select
    Bonjour,

    Voici une requête qui fonctionnait avec MySQL mais qui ne fonctionne plus avec PostgreSQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ... from ... where (id=... and (h>date_sub(now(),INTERVAL 30 MINUTE))) ...

    Query failed: ERREUR: erreur de syntaxe sur ou près de « 30 »
    Une idée?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 118
    Points : 28 510
    Points
    28 510
    Par défaut
    Je connais mal PostgreSQL mais as-tu vérifié si DATESUB et NOW faisaient partie des mots clés de PostgreSQL ?

    En langage SQL standardisé, qui devrait être connu de PostgreSQL, tu pourrais écrire plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... h > CURRENT_TIMESTAMP - INTERVAL 30 MINUTE ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 163
    Points : 45
    Points
    45
    Par défaut
    Tu as raison: date_sub est une fonction mysql

    J'ai essayé ta solution: je n'ai pas d'erreur de syntaxe.
    Par contre j'ai gardé now(): faut-il aussi le remplacer par CURRENT_TIMESTAMP alors qu'il est supporté par postgresql ?
    merci.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 118
    Points : 28 510
    Points
    28 510
    Par défaut
    Aucune obligation...
    L'usage des syntaxes normalisées, lorsqu'elles sont reconnues par le SGBD, a pour avantage d'améliorer la portabilité des requêtes.

Discussions similaires

  1. Réponses: 20
    Dernier message: 19/11/2016, 23h32
  2. [AC-2003] Critères conditionnels dans une requête SELECT
    Par Cam78 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 10/05/2010, 10h51
  3. Réponses: 4
    Dernier message: 09/01/2008, 21h10
  4. fusion de 2 colonnes dans une requête select?
    Par epeichette dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/11/2005, 00h05
  5. C'est possible dans une requête SELECT ?
    Par Kokito dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/04/2005, 17h59

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