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

PL/SQL Oracle Discussion :

Probleme pour convertir au format Date


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Data Manager
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Data Manager

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Probleme pour convertir au format Date
    Bonjour à tous!

    Je me tourne vers vous car je n'arrive pas à convertir une variable en format date, la finalité étant de faire une différence entre les deux dates sous forme d'un entier représentant le nombre de jours. Ce calcule sera fait à la place de *.
    Je travail sous le logiciel ClinSight.

    Voici la requete incriminée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT *
    	FROM(
    		SELECT CAST(DATE_SAISIE AS DATE) as DATE_SAISIE,CASE
    						WHEN NEW_DATE IS NOT NULL THEN CAST(NEW_DATE AS DATE) END
     
    			FROM(
    				SELECT SUBSTR(DATE_TIME,1 ,10) as DATE_SAISIE  , CASE
    WHEN NEW_DATA LIKE '%/%/20%' then NEW_DATA
    END AS NEW_DATE
    FROM MaTable
    		)		);
    Le problème est qu'il y a des lignes vides dans NEW_DATE ainsi que certaines lignes où la date à été mal saisie et la conversion ne peut donc pas ce faire, j'obtiens l'érreur suivantes "Caractère non numérique trouvé à la place d'un caractère numérique" ce qui est logique.

    Bien sur je n'ai pas le droit de modifier "à la main" mes donnée, le but de ma requête étant d'automatiser un processus, celle-ci doit donc pouvoir s'adapter.
    Le fichiers joint est la BD que j'obtiens si je ne converti pas NEW_DATE en date, mais cette variable est alors en STRING et je ne peux donc pas calculer la différence.

    J'espère avoir été clair.
    D'avance merci!

    DATE_DIFF.xls

    Edit 1 : Je me rend compte que je ne pose pas clairement ce pourquoi j'ai besoin d'aide!
    Je voudrais savoir si il existe une solution pour que lorsque j'ai une date au bon format celle-ci soit convertie au format date et si jamais le format n'est pas reconnu que la valeur soit quand meme transformeer en Date meme si celle-ci ne provoquera un code d'erreur pour le calcul de la DIFF.

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Si j'ai bien compris vous avez des chaines des caractères stockés dans la base qui parfois peuvent être convertie dans une date en suivant disons le format DD/MM/YYYY et parfois non parce qu'elles ne respecte pas ce format. Et vous voulez via une requête transformer ces chaines en date pour une quelconque besoin.
    La question est: la où le format est respecté il n'y pas de problème, mais la ou il n'est pas respecté ou nul que voulez vous obtenir, la date du jour ou autre ?
    Il sera bien si vous pouvez fournir un jeu d'essai avec quelques exemples de vos données et de ce que vous essayez d'accomplir.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Data Manager
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Data Manager

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    merci d'avoir pris le temps de réfléchir à mon problème!

    C'est cela j'ai des STRING qui sont au format DD/MM/YYYY et la conversion ne pose pas de problème, la ou il y a des problèmes c'est lorsque la date est au format DD/MON/YYYY, ma requete ne reconnais pas ce format et donc ne s'éxécute pas.

    Lorsque la cellule est vide je souhaite qu'elle reste vide et lorsque le format DD/MM/YYYY n'est pas respecté je souhaite que la cellule reste en STRING. Par la suite je souhaite calculer la différence entre ma premiere colonne (qui est une date au bon format à toutes les lignes) et ma deuxième colonne.

    Les résultats attendus sont :
    Si les deux colonne sont au bon format alors je souhaite obtenir la différence en jours.
    Si la cellule est vide alors la différence doit resté vide.
    Si la deuxième collone n'est pas au bon format alors je souhaite qu'un code d'erreur s'affiche ou que la différence reste vide.

    Voivi un exemple de fichiers que je souhaite obtenir :
    DATE_DIFF.xls

    DATE_SAISIE et NEW_DATE sont les collones que j'obtiens si ma requete ne contient pas le CAST(NEW_DATE AS DATE) et la collone diff à été rajouté sur Excel.

    D'avance merci!

Discussions similaires

  1. [XL-2003] Dates en Format texte à convertir en format dates
    Par graphikris dans le forum Excel
    Réponses: 2
    Dernier message: 18/12/2012, 18h42
  2. [Système/Fichiers/API] probleme pour convertir Ptr du Delphi en BCB
    Par blondelle dans le forum C++Builder
    Réponses: 1
    Dernier message: 09/08/2012, 10h53
  3. [WDM14] Probleme Requete Update et format Date
    Par blooddevor dans le forum Windev Mobile
    Réponses: 8
    Dernier message: 07/07/2011, 10h42
  4. Réponses: 13
    Dernier message: 05/07/2006, 10h39
  5. Problème pour afficher un format date dd/MM/yy HH:mm
    Par indy3 dans le forum Hibernate
    Réponses: 5
    Dernier message: 29/03/2005, 11h45

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