Wie funktioniert die Abfrage? Nun, hier ist der Grund:
select to_char(to_date(:number,'j'),'jsp') from dual;
Wenn Sie in den innersten Teil der Abfrage to_date(:number,'j') schauen, ist das 'j' oder J das Julianische Datum (1. Januar 4713 v. Chr.), im Grunde wird dieses Datum für astronomische Studien verwendet.
Also to_date(:number,'j') nimmt es die durch number dargestellte Zahl und tut so, als wäre es ein Julianisches Datum, wandelt es in ein Datum um.
Wenn Sie 3 an die Zahl übergeben, wird das Datum in den 3. Januar 4713 v. Chr. konvertiert, was bedeutet, dass 3 zum julianischen Datum hinzugefügt wird.
select to_char(to_date(3,'j'),'jsp') from dual;
Jetzt to_char(to_date(3,'j'),'jsp'), jsp =Jetzt; Nehmen Sie dieses Datum (to_date (3, 'j')) und buchstabieren Sie die Julianische Zahl, die es darstellt, die Ausgabe ist:
TO_CH
-----
three
Es gibt eine Einschränkung bei der Verwendung von julianischen Daten, sie reicht von 1 bis 5373484. Wenn Sie die Werte nach 5373484 eingeben, wird Ihnen daher ein Fehler ausgegeben, wie unten gezeigt:
ORA-01854: julian date must be between 1 and 5373484
Hallo zusammen, es ist interessant, dieses Thema. Ich erinnere mich, als ich 2005 Oracle lernte, forderte mich einer der Dozenten auf, einen PL/SQL-Code zu schreiben, um Zahlen in Wörter umzuwandeln, es waren ganze zwei Seiten Code, um das zu erreichen.
Hier ist ein Hinweis, der uns helfen könnte, den Julianischen Tag zu verstehen, deshalb verwenden wir bei dieser Operation den Buchstaben 'j' oder 'J'.
Zuerst gibt es eine Website, die das Beispiel und die Erklärung zu "How To Convert Number Into Words Using Oracle SQL Query" enthält:
http://viralpatel.net/blogs/convert- Zahl-in-Worte-Oracle-SQL-Abfrage/
Zweitens, wenn Sie mehr über "Julian Day" erfahren möchten, gehen Sie zu:
http://en.wikipedia.org/wiki/Julian_day
Drittens, wenn Sie mehr darüber wissen möchten, wer die julianische Tageszahl im Jahr 1583 vorgeschlagen hat, sie war von „Joseph Scaliger“:
http://en.wikipedia.org/wiki/Joseph_Justus_Scaliger
Es macht keinen Sinn, dass ich weiterhin wiederhole, was ein anderer Autor auf diesen Websites gemacht hat, deshalb habe ich gerade den Link gepostet, über den Sie darauf zugreifen können, und lesen Sie, was Sie brauchen, um zu verstehen, wie eine Abfrage wie diese funktioniert:
SELECT TO_CHAR (TO_DATE (2447834, 'j'), 'jsp') FROM DUAL;
//Ausgabe:zwei Millionen vierhundertsiebenundvierzigtausendachthundertvierunddreißig