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 :

requete comparaison date


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Chef de projet
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut requete comparaison date
    bonjour,
    je debute en bdd et j ai un souci.
    j ai besoin d une requete qui compare des dates qui sont dans une colonne de type varchar2 d une vieille base sous la forme jj/mm/aa.Mais je n y arrive pas ...car le type n est pas date
    je ne peux pas changer le type de la colonne car elle deja pleine.
    Quelqu un aurait une idee?
    j espere que j ai ete assez clair
    merci d avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Créer une nouvelle colonne de type date

  3. #3
    Futur Membre du Club
    Profil pro
    Chef de projet
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    le probleme c est que certaine sont de la forme par ex 00/01/01

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par couakie Voir le message
    le probleme c est que certaine sont de la forme par ex 00/01/01
    Et ?
    Où est le problème ?
    Il faut convertir ça en 01/01/2000 et puis c'est tout.

  5. #5
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select to_date(ma_colonne,'RR/MM/DD')) from ma_table
    ma_colonne= colonne alpha au format '00/12/31' (31 décembre 2000)
    Le format 'RR' permet de gérer la problématique de l'an 2000

  6. #6
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Euh, Couakie a dit que le format était jj/mm/aa, donc 00/01/01 n'est pas valide
    Dans ce cas là, 2 solutions suivant le besoin : Mettre les dates incorrectes à null, ou remplacer par une autre date.
    Pour checker si une date est correcte, une simple fonction, que l'on peut agrémenter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE FUNCTION CHECK_DATE (p_chaine IN VARCHAR2) RETURN DATE
    IS
    v_date DATE;
    BEGIN
     v_date := TO_DATE(p_chaine, 'DD/MM/RR');
     RETURN v_date;
    EXCEPTION WHEN OTHERS
    THEN
     RETURN NULL;
    END;

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par McM Voir le message
    Euh, Couakie a dit que le format était jj/mm/aa, donc 00/01/01 n'est pas valide
    Autant pour moi.
    C'est malheureusement le genre de chose qui arrive quand le type n'est pas choisi correctement dès le départ !!!
    Mettez des dates dans des formats de date!

  8. #8
    Futur Membre du Club
    Profil pro
    Chef de projet
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci pour vos reponse
    le probleme etait que je n avais pas le droit de modifier les donnees de la table.
    Mais devant ce pb on m a donne le droit de mettre au 1er de chaque mois donc now avec vos solutions c est nikel .
    Merci de votre aide

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

Discussions similaires

  1. [MySQL] requete avec date du jour - 30
    Par le69 dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 31/01/2013, 15h38
  2. Probleme comparaison Date dans un IF - Requete SQL ACCESS
    Par fomblardo dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/11/2009, 07h46
  3. [Requete] Comparaison de date / Periode - tab. croisé. dyn
    Par Gronain dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 05/05/2006, 16h04
  4. Réponses: 6
    Dernier message: 08/11/2005, 19h33
  5. Trier mes requete par date au format dd/mm/yy
    Par danje dans le forum Langage SQL
    Réponses: 6
    Dernier message: 19/09/2005, 18h06

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