sql >> Base de Datos >  >> RDS >> Oracle

cómo mostrar el valor numérico en palabras

Entonces, ¿cómo funciona la consulta? Bueno, he aquí por qué:

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

Si observa la parte más interna de la consulta to_date(:number,'j'), la 'j' o J es la fecha juliana (1 de enero de 4713 a. C.), básicamente esta fecha se usa para estudios astronómicos.

Así que to_date(:number,'j') toma el número representado por number y finge que es una fecha juliana, conviértalo en una fecha.

Si pasa 3 al número, entonces convertirá la fecha al 3 de enero de 4713 a. C., significa que 3 se agrega a la fecha juliana.

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

Ahora to_char(to_date(3,'j'),'jsp'), jsp =Ahora; tome esa fecha (to_date (3, 'j')) y deletree el número juliano que representa, el resultado es:

TO_CH
-----
three

Hay una limitación al usar fechas julianas, varía de 1 a 5373484. Es por eso que si coloca los valores después de 5373484, arrojará un error como se muestra a continuación:

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

Hola a todos, es interesante este tema. Recuerdo cuando estaba aprendiendo Oracle en 2005, uno de los instructores me pidió que escribiera un código PL/SQL para convertir números en palabras, era un código completo de dos páginas para llegar a esto.

Aquí hay alguna referencia que podría ayudarnos a entender el día juliano, por eso usamos la letra 'j' o 'J' durante esta operación.

Primero, hay un sitio web que tiene el ejemplo y la explicación sobre "Cómo convertir números en palabras usando Oracle SQL Query":

http://viralpatel.net/blogs/convert- número-en-palabras-oracle-sql-query/

En segundo lugar, si desea obtener más información sobre el "día de Julian", vaya a:

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

Tercero, si quieres saber más sobre quién propuso el número de día juliano en 1583, fue "Joseph Scaliger":

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

No tiene sentido para mí continuar repitiendo lo que ha hecho otro autor en estos sitios web, es por eso que acabo de publicar el enlace para que pueda acceder a ellos y leer lo que necesita para comprender cómo funciona una consulta como esta:

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

//Salida:dos millones cuatrocientos cuarenta y siete mil ochocientos treinta y cuatro