Oracle
 sql >> Base de données >  >> RDS >> Oracle

comment afficher la valeur numérique en mots

Alors, comment fonctionne la requête ? Eh bien, voici pourquoi :

select to_char(to_date(:number,'j'),'jsp') from dual;

Si vous examinez la partie la plus interne de la requête to_date(:number,'j'), le 'j' ou J est la date julienne (1er janvier 4713 av. J.-C.), cette date est essentiellement utilisée pour des études astronomiques.

Donc, to_date(:number,'j') prend le nombre représenté par number et prétend qu'il s'agit d'une date julienne, convertie en date.

Si vous passez 3 au nombre, il convertira la date en 3 janvier 4713 av. J.-C., cela signifie que 3 est ajouté à la date julienne.

select to_char(to_date(3,'j'),'jsp') from dual;

Maintenant to_char(to_date(3,'j'),'jsp'), jsp =Now; prenez cette date(to_date(3,'j')) et épelez le nombre julien qu'il représente, le résultat est :

TO_CH
-----
three

Il y a une limitation lors de l'utilisation des dates juliennes, elles vont de 1 à 5373484. C'est pourquoi si vous mettez les valeurs après 5373484, cela vous renverra une erreur comme indiqué ci-dessous :

ORA-01854: julian date must be between 1 and 5373484

Bonjour à tous, ce sujet est intéressant. Je me souviens quand j'apprenais Oracle en 2005, l'un des instructeurs m'a demandé d'écrire un code PL/SQL pour convertir des nombres en mots, c'était un code de deux pages pour y parvenir.

Voici quelques références qui pourraient nous aider à comprendre le jour julien, c'est pourquoi nous utilisons la lettre 'j' ou 'J' lors de cette opération.

Il y a d'abord un site Web qui contient l'exemple et l'explication sur "Comment convertir un nombre en mots à l'aide d'Oracle SQL Query":

http://viralpatel.net/blogs/convert- nombre-en-mots-oracle-sql-query/

Deuxièmement, si vous voulez en savoir plus sur la "journée julienne", rendez-vous sur :

http://en.wikipedia.org/wiki/Julian_day

Troisièmement, si vous voulez en savoir plus sur qui a proposé le numéro du jour julien en 1583, c'était par "Joseph Scaliger":

http://en.wikipedia.org/wiki/Joseph_Justus_Scaliger

Cela n'a pas de sens pour moi de continuer à répéter ce qu'un autre auteur de ces sites Web a fait, c'est pourquoi je viens de publier le lien vous pouvez y accéder et lire ce dont vous avez besoin pour comprendre comment une requête comme celle-ci fonctionne :

SELECT TO_CHAR (TO_DATE (2447834, 'j'), 'jsp') FROM DUAL;

//Sortie :deux millions quatre cent quarante-sept mille huit cent trente-quatre