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

Langage SQL Discussion :

[Oracle] traitement des dates au format string


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Points : 73
    Points
    73
    Par défaut [Oracle] traitement des dates au format string
    Bonjour,

    Je travaille sur une table, qui pour des raisons historiques, à son champ date au format string.
    Je dois effectuer une extraction qui consiste à extraire toutes données dont la date associée est inférieur X jours (à partir de la date courante). J'ai cherché un peu sur le net et j'ai finalement essayé quelque chose comme ceci, mais ca ne marche toujours pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ID from MY_TABLE where cast(CHAMP_DATE as date) <= current_date-30
    Cette requête devrait retourné les ID dont la date associé est inférieure à 30 jours. La date étant au format dd/mm/yyyy

    Quelqu'un saurait-il comment y arriver?

    Merci

    P.S: mes tests sont effectué sur une base ACCESS et l'appli sera sur une base Oracle

  2. #2
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Points : 73
    Points
    73
    Par défaut
    J'ai finis par trouver ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ID from MY_TABLE where to_date(CHAMP_DATE) <= sysdate-30
    Faut que je teste sous Oracle pour voir si ca marche !

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Si CHAMP_DATE est de type DATE alors appliquer la fonction TO_DATE ne sert à rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ID FROM MY_TABLE WHERE CHAMP_DATE <= sysdate-30
    Cependant, si vous ne voulez pas considérer les heures, ni les minutes, ni les secondes alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ID FROM MY_TABLE WHERE TRUNC(CHAMP_DATE) <= TRUNC(sysdate-30)
    C'est un sujet récurrent dans le forum Oracle et la FAQ Oracle peut vous donner les bases des manipulations des dates.

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

Discussions similaires

  1. JTable, créer un comparateur de Dates au format String
    Par Nyphel dans le forum Composants
    Réponses: 7
    Dernier message: 13/02/2007, 16h15
  2. Exécuter un traitement à des dates précises
    Par Commodore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 08/08/2006, 09h42
  3. Traitement des dates différent suivant le serveur
    Par le lynx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/09/2005, 11h14
  4. [Oracle][VB] des liens pour formation
    Par gentarik dans le forum Oracle
    Réponses: 4
    Dernier message: 14/09/2005, 12h45
  5. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15

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