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 :

Traduction de nombres en mots


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Femme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Juin 2011
    Messages : 83
    Points : 67
    Points
    67
    Par défaut Traduction de nombres en mots
    Bonjour j'ai des montant dans une table X que je dois traduire en lettre.

    Mon client de pleins de la problématique suivante :

    j'ai le montant suivant : 35,380.80

    Ma requete traduit : Trente-Cinq Mille Trois Cent Quantre-Vingts Dinars, Huit Centime !!


    Mon client veut afficher Quatre vingts au lieu de Huit




    Mon Code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT initcap	(translate_fr(to_word_en_dinar ((	select AMOUNT from ap_checks_all where 	CHECK_NUMBER = 100041)))) as MT_OV_TEXT  FROM dual

    Je vous remercie d'avance

    Wahida

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur en études décisionnelles
    Inscrit en
    Février 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur en études décisionnelles

    Informations forums :
    Inscription : Février 2013
    Messages : 134
    Points : 351
    Points
    351
    Par défaut
    Bonjour,

    J'avoue ne pas connaître cette fonction, qui est propre à Oracle. Par contre, en cherchant un peu sur google, je suis retombé sur ce post où orafrance débugge justement cette fonction
    http://www.developpez.net/forums/d41...ffres-lettres/

    J'ai le ressenti que c'est plus un bug de la fonction, qui est peut-être provoqué par l'utilisation de to_word_en_dinar().

    Afin de confirmer cela, quel est le résultat de la requête suivante ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT translate_fr(to_word_en(35,380.80)) FROM dual;

  3. #3
    Membre du Club
    Femme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Juin 2011
    Messages : 83
    Points : 67
    Points
    67
    Par défaut
    Salut !!



    Je vous remercie pour votre réponse rapide.


    Le résultat dans la capture ci-joint (j'ai enlevé la virgule pour avoir un résultat correct sinon la requete ne renvoi rien du tout).


    Cordialement
    Wahida

    Nom : Resultat.jpg
Affichages : 273
Taille : 32,9 Ko

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur en études décisionnelles
    Inscrit en
    Février 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur en études décisionnelles

    Informations forums :
    Inscription : Février 2013
    Messages : 134
    Points : 351
    Points
    351
    Par défaut
    Bonjour,

    Je souhaitais bien que tu refasses un test en utilisant to_word_en (et non to_word_en_dinar) pour voir si c'est un problème dû à cette fonction ou pas.

    Je te demande cela car dans le post de laurentschneider du 17/09/2007 (voir mon lien ci-dessus), il a un problème très similaire au tien, et orafrance indique qu'il est corrigé le 02/06/2009.

    Aussi, en exécutant cette requête :
    SELECT translate_fr(to_word_en(35380.80)) FROM dual;
    • Si tu obtiens un résultat correct, c'est un bug de to_word_en_dinar, et dans ce cas il faudrait si tu le peux utiliser une autre fonction... Car cela implique de remonter le bug à Oracle, attendre un patch correctif, déployer la nouvelle version... Ou alors recréer toi-même une fonction en retrouvant les sources et en corrigeant le bug, mais cela fait très bricolage. En bref, de grosses galères.
    • S'il est incorrect, tu as une mauvaise version de translate_fr (cf post de orafrance), et donc il faudrait sans doute passer à une version supérieure d'Oracle qui corrige le problème récupérer la version la plus à jour... Et cela ne garantit toujours pas que to_word_en_dinar soit correct.


    Bon courage en tout cas

  5. #5
    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 820
    Points
    17 820
    Par défaut
    Citation Envoyé par Emmanuel R Voir le message
    J'avoue ne pas connaître cette fonction, qui est propre à Oracle. Par contre, en cherchant un peu sur google, je suis retombé sur ce post où orafrance débugge justement cette fonction
    http://www.developpez.net/forums/d41...ffres-lettres/
    La fonction n'est pas propre à Oracle, c'est une fonction codée et mise à disposition par Orafrance.
    Libre à chacun de l'implémenter dans ses bases !

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur en études décisionnelles
    Inscrit en
    Février 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur en études décisionnelles

    Informations forums :
    Inscription : Février 2013
    Messages : 134
    Points : 351
    Points
    351
    Par défaut
    Je n'en avais pas conscience. Je pensais que c'était intégré directement dans Oracle.
    J'ai édité mon post en conséquence.

Discussions similaires

  1. [Traduction][Néerlandais]Juste quelques mots
    Par henderson dans le forum La taverne du Club : Humour et divers
    Réponses: 15
    Dernier message: 24/08/2006, 13h52
  2. [TSQL] calculer le nombre de mot dans une cellule
    Par ricachu dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 31/07/2006, 11h12
  3. Recherche le nombre de mots dans un fichier
    Par peppena dans le forum Linux
    Réponses: 2
    Dernier message: 19/04/2006, 10h46
  4. Réponses: 13
    Dernier message: 16/11/2005, 13h15
  5. Compter nombre de mots dans une chaîne.
    Par xVINCEx dans le forum C++
    Réponses: 22
    Dernier message: 24/11/2004, 13h33

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