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 :

Récupération du mois avec prise en compte du décalage horaire (heure d'été ou hiver)


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Par défaut Récupération du mois avec prise en compte du décalage horaire (heure d'été ou hiver)
    Bonjour,
    Voici mon souci.
    Dans une table X, il y a un timestamp dans la colonne C qui est enregistré au format "timestamp without time zone", donc lors qu'on est le 1er février 2010 à 00h, c'est enregistré en "2010-01-31 23:00:00" (et donc sans indication du timezone).
    Le truc, c'est de pouvoir extraire le mois de ce timestamp, en prenant en compte :
    1. le décalage horaire: c'est à dire que ça soit reconnu comme étant février avec la date de l'exemple
    2. ça prenne en charge également les changements d'heure d'été et d'heure d'hiver

    Le tout étant pour le fuseau horaire de paris.
    Voilà, j'ai essayé quelques trucs, (timestamp with time zone, at time zone CET), ca le convertit bien en heure local (donc +01 ou +02 en fonction de la date heure d'été ou heure d'hier), mais l'extract month à partir de ça ne retourne que le mois du timestamp sans prise en compte du décalage horaire)

    J'essaye d'avoir un truc relativement générique, souple et simple, vu que a volumétrie derrière est relativement important (plusieurs centaines de milliers de lignes) et donc avoir une formule complexe risuqe de réduire les performances...
    Merci d'avance !

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Citation Envoyé par jyboo Voir le message
    Le tout étant pour le fuseau horaire de paris.
    Voilà, j'ai essayé quelques trucs, (timestamp with time zone, at time zone CET), ca le convertit bien en heure local (donc +01 ou +02 en fonction de la date heure d'été ou heure d'hier), mais l'extract month à partir de ça ne retourne que le mois du timestamp sans prise en compte du décalage horaire)
    Si le timestamp without time zone désigne une date associée au fuseau GMT ce qui est semble être le cas ici, il suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     (T at time zone 'GMT') at time zone 'Europe/Paris'
    pour avoir la date/heure équivalente à T mais à Paris.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Par défaut Merci !
    Merci. c'est exactement ce que je cherchais, solution ultra simple simple!!!!!

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

Discussions similaires

  1. [XL-2010] Mise ne forme conditionnelle avec prise en compte d'un arrondi
    Par rob1son76 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/02/2015, 15h59
  2. Ajout de ligne et de colonnes avec prise en compte des calculs
    Par sab_info dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/01/2013, 17h51
  3. Réponses: 1
    Dernier message: 13/07/2012, 17h04
  4. API pour générer des classes Java avec prise en compte des contraintes du XSD
    Par Invité dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 29/07/2011, 17h03
  5. Requête avec prise en compte des jours ouvrés
    Par guenfood dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 25/02/2008, 16h36

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