Oracle
 sql >> Database >  >> RDS >> Oracle

come visualizzare il valore del numero in parole

Quindi come funziona la query? Bene, ecco perché:

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

Se guardi nella parte più interna della query to_date(:number,'j') la 'j' o J è la data giuliana (1 gennaio 4713 aC), fondamentalmente questa data è stata utilizzata per studi astronomici.

Quindi to_date(:number,'j') prende il numero rappresentato da numero e fa finta che sia una data di Julian, converte in una data.

Se passi 3 al numero, quindi convertirà la data in 3 gennaio 4713 a.C., significa che 3 viene aggiunto alla data giuliana.

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

Ora to_char(to_date(3,'j'),'jsp'), jsp =Ora; prendi quella data(to_date(3,'j')) e scrivi il numero di giuliano che rappresenta, l'output è:

TO_CH
-----
three

C'è una limitazione durante l'utilizzo delle date giuliane, va da 1 a 5373484. Ecco perché se metti i valori dopo 5373484, ti verrà generato un errore come mostrato di seguito:

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

Ciao a tutti, è interessante questo topic. Ricordo che quando stavo imparando Oracle nel 2005 uno degli istruttori mi chiese di scrivere un codice PL/SQL per convertire i numeri in parole, era un codice di due pagine intere per raggiungere questo obiettivo.

Ecco qualche riferimento che potrebbe aiutarci a capire il giorno giuliano, ecco perché durante questa operazione utilizziamo la lettera 'j' o 'J'.

Innanzitutto c'è un sito Web che contiene l'esempio e la spiegazione su "Come convertire un numero in parole utilizzando Oracle SQL Query":

http://viralpatel.net/blogs/convert- numero-in-parole-oracle-sql-query/

Secondo, se vuoi saperne di più su "Giorno Giuliano" vai a:

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

Terzo, se vuoi saperne di più su chi ha proposto il numero del giorno giuliano nel 1583, è stato di "Joseph Scaliger":

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

Non ha senso per me continuare a ripetere ciò che ha fatto un altro autore in questi siti Web, ecco perché ho appena pubblicato il link a cui puoi accedervi e leggere ciò di cui hai bisogno per capire come funziona una query del genere:

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

//Risultato:due milioni quattrocentoquarantasettemilaottocentotrentaquattro