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 :

Formatage du mois 'MON' avec NLS_LANG=FRENCH_FRANCE


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Formatage du mois 'MON' avec NLS_LANG=FRENCH_FRANCE
    Bonjour

    Le formatage du mois 'MON' semble avoir changé entre Oracle 9i et Oracle 10g lorsqu'on est en français.
    Mon NLS_LANG est paramétré ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1
    Lorsque je demande l'affichage du mois sur une base Oracle9i j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT to_char(SYSDATE,'fmMON') FROM DUAL ;
    TO_
    ---
    AVR
    Si je fais la même chose sous Oracle 10g voici ce que j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT to_char(SYSDATE,'fmMON') FROM DUAL ;
    TO_CH
    -----
    AVR.
    Le mois est retourné avec un point en plus (soit sur 4 caractères) après les 3 premières lettres du mois.

    Y-a-t-il un moyen (via un NLS_ par exemple) de faire que cette requête renvoie la même chose que ce soit en 9i ou en 10g ?

    Merci

  2. #2
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Points : 230
    Points
    230
    Par défaut
    Est-ce que tous tes autres paramètres NLS sont identiques ?

  3. #3
    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

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    C'est le seul paramètre NLS_ positionné.

  5. #5
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Points : 230
    Points
    230
    Par défaut
    Si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     select * from v$nls_parameters
    sur les deux bases, qu'obtiens-tu ?

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 817
    Points
    17 817
    Par défaut
    Ce n'est pas le problème, les abréviations françaises ont effectivement été modifiées entre 9i et 10g.

    Sur 9i- :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    NM_MOIS	NOM_MOIS
    1	JAN
    2	FEV
    3	MAR
    4	AVR
    5	MAI
    6	JUN
    7	JUL
    8	AOU
    9	SEP
    10	OCT
    11	NOV
    12	DEC
    Sur 10g+ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    NM_MOIS	NOM_MOIS
    1	JANV.
    2	FÉVR.
    3	MARS 
    4	AVR. 
    5	MAI  
    6	JUIN 
    7	JUIL.
    8	AOÛT 
    9	SEPT.
    10	OCT. 
    11	NOV. 
    12	DÉC.

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 817
    Points
    17 817
    Par défaut
    Une formule pour retrouver les anciennes abréviations, mais on n'est pas loin du bricolage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    select nm_mois,
           nom_mois_new,
           convert(substr(replace(nom_mois_new,
                   'I', substr(replace(nom_mois_new, '.', ''), -1, 1)), 1, 3),
                   'US7ASCII') as nom_mois_old
    from
    (
        select level as nm_mois,
               to_char(to_date(to_char(level, 'fm00'), 'mm'), 'fmMON') as nom_mois_new
          from dual
    connect by level <= 12
    );
     
    NM_MOIS	NOM_MOIS_NEW	NOM_MOIS_OLD
    1	JANV.		JAN
    2	FÉVR.		FEV
    3	MARS		MAR
    4	AVR.		AVR
    5	MAI		MAI
    6	JUIN		JUN
    7	JUIL.		JUL
    8	AOÛT		AOU
    9	SEPT.		SEP
    10	OCT.		OCT
    11	NOV.		NOV
    12	DÉC.		DEC

  8. #8
    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
    @Waldar
    Le lien que j'ai donné indique ce qu'il faut faire à court terme. A long terme il faut révoir l'application.

  9. #9
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 817
    Points
    17 817
    Par défaut
    Tout-à-fait, c'était une simple proposition quick & dirty !

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Donc rien à faire de plus.
    Merci pour votre aide.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/10/2009, 09h58
  2. Formatage d'un entier avec des 0 en tête
    Par AODRENN dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/06/2007, 19h31
  3. Formatage d'un entier avec des 0 en tête
    Par AODRENN dans le forum Delphi
    Réponses: 7
    Dernier message: 13/06/2007, 17h13
  4. Arretez moi mon thread :)
    Par arsenik7 dans le forum Concurrence et multi-thread
    Réponses: 13
    Dernier message: 16/06/2006, 19h56
  5. [time.h] Formatage du mois
    Par Fiquet dans le forum C
    Réponses: 5
    Dernier message: 17/02/2006, 15h10

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