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 :

Date oracle


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut Date oracle
    Bonjour,
    Savez vous comment on peut régler la gestion des dates sous oracle pour que :
    quand je fais un insert avec le format JJ/MM/AAAA oracle enregistre dans la base AA/MM/00JJ ou les deux premiers caractères AA sont les deux premiers du format précedent.

    En fait le truc c'est que je dois retrouver le format qu'a utilisé le client pour pouvoir reproduire l'erreur.

    (Moi j'avais pensé à NLS_FORMAT_DATE mais quand je le modifie il n'insere pas chez moi mais retourne une erreur)

    Désolé si c'est un peu tordu comme post.

    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 61
    Par défaut
    Que je sache les dates ne sont pas mémorisées dans un quelconque format alphanumérique mais comme une valeur numérique. C'est lors du select de récupération qu'un formatage a lieu. Donc ce que tu veux, c'est récupérer la date au format AA/MM/00JJ ? Utilises dans ce cas un to_char pour formater.

  3. #3
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Les dates sous Oracle sont toujours stockées au même format unique, tu ne peux pas choisir différents formats d'enregistrement selon les dates/lignes que tu veux insérer, c'est juste à la restitution que tu peux changer le format d'affichage

    Edit : j'ai été devancé de quelques secondes dans la réponse
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut Et NLS_FORMAT_DATE
    Merci de vos réponses.

    Je crois que le paramètre NLS_FORMAT_DATE permet de spécifier le format d'enregistrement des dates . Qu'est ce que vous en pensez ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Par défaut
    non comme dit precedemment tu ne peut pas influer sur le format
    de stockage de la date
    le nls te permet de donner le format d'affichage ou de conversion par defaut de la date

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut un petit exemple
    Et est ce que vous avez une idée sur ce qui cloche alors ?

    Pour exemple :
    si dans l'application je veux insérer une date 01/09/2010, chez nous il l'insere en 01/09/2010 et chez le client
    en 20/09/0001.

    Nous avons un oracle 9i sous linux avec nos variables "locale" en francais et le client en american

    Merci encore

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 61
    Par défaut
    Je suppose que la saisie est alphanumérique, comment ton application convertit-elle cela en date ? Faites vous un to_date en précisant un format ou utilisez-vous une conversion implicite et dans ce cas sensible au paramétrage local par défaut des dates ?

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Par défaut
    est-ce que la colonne date de ta table est alimenté a partir d'une variable chaine par un to_date
    par-ce que si dans le to_date le format de la date en entrée n'est pas renseigné c'est celui du nls qui est pris a savoir JJ/MM/YYYY en francais
    et en americain MM/JJ/YYYY
    Sinon comment affiche tu les dates pour les comparer , précise tu le format d'affichage dans le select pour être sur de l'affichage (select to_char(i_date,'DD/MM/YYYY') ) ?

    edit:
    Zut j'ai mis trop de temps a repondre

  9. #9
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut it's working !!!
    Je ne sais pas exactement pourquoi javais ce comportement mais avec la
    fonction to_date ca marche parfaitement.
    Merci beaucoup

    Vive l'open source du ciboulot !!

  10. #10
    Membre expérimenté Avatar de JerryMouse
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 215
    Par défaut
    NLS_FORMAT_DATE permet de définir un format de gestion des date par défaut. mais, quelque soit le format défini, Oracle stock toujours la date dans un format qui lui est propre. c'est à la restitution qu'on précise sous quelle forme on veut la voir ou sous quelle forme on la fournit à Oracle.

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Par défaut
    il vaudrait mieu quand même que tu cherche a comprendre le pourquoi
    Car le même genre de probleme ce reproduira si tu ne comprend la gestion
    des dates et des formats de dates dans oracle (je te rassure c'est tout bête)

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

Discussions similaires

  1. Date Oracle en C
    Par mat453 dans le forum C
    Réponses: 3
    Dernier message: 04/01/2008, 09h23
  2. Format de l'heure d'une date [Oracle 10g]
    Par Dark Ryus dans le forum Oracle
    Réponses: 3
    Dernier message: 23/04/2007, 11h47
  3. [Oracle] Date(oracle) => Année saisie sur 4 jours, retournée sur 2
    Par romulus dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/03/2006, 03h14
  4. [PreparedStatement] Date Oracle
    Par DeVoN dans le forum JDBC
    Réponses: 10
    Dernier message: 14/02/2006, 12h33
  5. [JDBC] String => Date Oracle
    Par mr.t dans le forum JDBC
    Réponses: 22
    Dernier message: 16/02/2005, 18h51

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