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

Oracle Discussion :

calcul entre une zone en char et sysdate


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut calcul entre une zone en char et sysdate
    Bonjour,
    Je suis sur AIX en version 9.2.0.5 d'Oracle et je voudrais rechercher les lignes d'une table dont la zone horadate - sysdate > 15.

    horodate est en char(16)

    J'ai essayé TO_NUMBER(horadate) - to_char(sysdate)
    j'obtiens ora-1722 invalid number sur l'expression to_char

    J'ai aussi essayé TO_NUMBER(horadate) - to_number(sysdate)
    la mème erreur mais sur sysdate

    Merci pour votre aide

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Regarde bien la doc sur les dates. faut toujours un format
    http://sheikyerbouti.developpez.com/...age=Chap3#L3.4

  3. #3
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date(horodate, '<le format qui va bien>') - sysdate
    Pourquoi chercher à convertir en char ou number alors que ce sont 2 dates ?

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut
    Je suis désolé, mais je débute.
    En suivant, surement mal vos conseils j'obtiens ce résultat
    select * from table where ((to_date(horodate, 'DD/MM/YYYY HH24:MI') - sysdate) > 15)
    *
    ERROR at line 1:
    ORA-01861: literal does not match format string

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 87
    Par défaut
    bonjour,
    ton erreur signifie que le format de horodate ne correspond pas au format DD/MM/YYYY HH24:MI.
    si tu met to_date(horodate, 'DD/MM/YYYY HH24:MI') , cela veut dire que tu doit avoir horodate comme ceci par exemple: '25/12/2006 23:59'.
    vérifie que horodate a ce format ci
    AEMAG

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut
    Finalement j'arrive au résultat ainsi
    where (to_char(sysdate, 'YYYYMMDD') - substr(horodatage,1,8) > 15);

    Merci pour votre aide

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/06/2010, 09h57
  2. Réponses: 4
    Dernier message: 13/06/2008, 03h47
  3. Réponses: 4
    Dernier message: 14/05/2007, 23h56
  4. Réponses: 5
    Dernier message: 02/04/2007, 09h59
  5. retarder un calcul d'une zone de texte
    Par ormoy28 dans le forum Access
    Réponses: 8
    Dernier message: 01/02/2006, 01h32

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