+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre du Club
    Inscrit en
    avril 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 232
    Points : 65
    Points
    65

    Par défaut Convert string en datetime

    Bonjour,

    Je travaille actuellement sur une base postgresql.

    J'ai une table avec un champ qui stocke la date. Seulement, celui ci est de type character(17).

    Je cherche comment convertir dans ma requête sql ce champ en datetime afin de pouvoir récupérer l'heure et la date séparément.

    J'ai tenté jusque là diverses solutions qui n'ont pas fonctionné sauf celle ci :
    to_date(champdate,'DD MM YYYY') as date
    Ce qui a transformé ma chaîne de caractères comme ceci :
    "20120725101426843" en ""4413033-02-06"" (2012/07/25 - 10h14 et 26843s)
    Si je reprends l'exemple au dessus, on doit le lire comme ceci :
    20120725101426843
    aaaammjjhhmmsszzz (z=milliseconde)
    le résultat attendu est donc 2012-07-25 de la date 2012/07/25 - 10h14, 26s et 843millisecondes
    Est-ce que cette chaîne peut être convertie en datetime si oui, pourriez vous m'aider.

    Merci

  2. #2
    Membre chevronné Avatar de Arkhena
    Inscrit en
    décembre 2006
    Messages
    480
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 480
    Points : 625
    Points
    625

    Par défaut

    Bonjour,

    Vous souffrez d'un problème de conception de votre modèle de données. Je ne peux que vous encourager à faire modifier cette erreur au plus tôt...

    Pour ce qui est de la conversion, faites un tour là : http://www.postgresql.org/docs/9.1/s...-datetime.html

    Cordialement,

    Arkhena
    A bove ante, ab asino retro, a stulto undique caveto

  3. #3
    Membre du Club
    Inscrit en
    avril 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 232
    Points : 65
    Points
    65

    Par défaut

    Bonjour,

    je pense avoir trouver une alternative en retravaillant ma chaine de caractere.

    Voici la solution utilisé :
    to_date(substring(champdate from 1 for 8),'YYYYMMDD')

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •