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

SQL Oracle Discussion :

Convertir varchar2 en date


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 24
    Points : 17
    Points
    17
    Par défaut Convertir varchar2 en date
    Bonjour,

    Je suis nouveau sur le forum et je débute un peu au noveau de l'informatique.

    J'ai une base de données SQL avec un champs date au format 'YYYY-DD-MM', ce champs est du type varchar2.

    Je souhaiterai convertir les données de cette colonne en date mais garder le même format 'YYYY-DD-MM'.

    Cependant lorsque j'essaye de le faire, j'ai l'erreur suivante oracle : Nom : image (1).png
Affichages : 397
Taille : 11,4 Ko.

    Voici le code SQL que j'utilise pour faire ma conversion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATE_PRESTATION, TO_DATE(TO_CHAR(DATE_PRESTATION),'YYYY-DD-MM')
    .

    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2012
    Messages : 127
    Points : 339
    Points
    339
    Par défaut
    Bonjour,

    Votre requête est tout à fait correcte (enfin, vous pouvez quand même supprimer l'appel à la fonction to_char, vu que votre colonne est déjà une chaîne de caractères). Le problème, c'est qu'il doit y avoir dans votre colonne des valeurs qui ne correspondent pas à ce format.

    Lancez cette requête pour retrouver les lignes qui ne correspondent pas au format que vous indiquez.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM <table> WHERE NOT REGEXP_LIKE(date_prestation, '^[0-9]{4}-[0-9]{2}-[0-9]{2}$');
    Restera ensuite la possibilité qu'il ne s'agit pas d'une date valable (genre un 00 janvier ou un 31 février), mais commençons d'abord par valider cet aspect.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 24
    Points : 17
    Points
    17
    Par défaut Problème résolu.
    Après plusieurs essais, j'ai trouvé la solution a mon problème.

    Il fallait tout simplement fair un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select to_date(nom_clonne,'YYYY-MM-DD')

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

Discussions similaires

  1. convertir string en date ?
    Par jessy212 dans le forum Access
    Réponses: 5
    Dernier message: 22/08/2006, 09h26
  2. convertir string en date
    Par schwinny dans le forum Access
    Réponses: 4
    Dernier message: 21/07/2006, 09h23
  3. Réponses: 4
    Dernier message: 06/06/2006, 16h18
  4. [SGBD] Convertir une donnée Date MYSQL en format Francais
    Par hillairet dans le forum Débuter
    Réponses: 4
    Dernier message: 28/09/2005, 15h06
  5. [FLASH MX2004] Convertir chaine en date
    Par stip dans le forum Flash
    Réponses: 5
    Dernier message: 20/01/2005, 17h01

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