那麼查詢是如何工作的?那麼這裏的原因:
select to_char(to_date(:number,'j'),'jsp') from dual;
如果你看看到查詢TO_DATE內大部分(:數字,「J」)的「J」或J是儒略日(1月1日,從公元前4713),基本上這個日期已被用於天文學研究。
所以to_date(:數字,'j')它以數字表示的數字並假裝它是一個朱利安日期,轉換成日期。
如果您將3傳遞給號碼,則它會將日期轉換爲公元前4713年1月3日,這意味着3將添加到Julian日期。
select to_char(to_date(3,'j'),'jsp') from dual;
現在TO_CHAR(TO_DATE(3, 'J'), 'JSP'),JSP =現在;採取日期(TO_DATE(3,「J」))和拼寫它代表朱利安數,輸出是:
TO_CH
-----
three
有一個限制,而使用儒略曆日期,取值範圍爲1至5373484.這就是爲什麼如果你把值5373484後,如下圖所示,它將引發你的錯誤:
ORA-01854: julian date must be between 1 and 5373484
大家好,有趣的是這個話題。我記得2005年我在學習Oracle時,其中一位講師要求我編寫一個PL/SQL代碼來轉換數字,這是一個完整的兩頁代碼。
下面是一些可以幫助我們理解Julian日的參考資料,這就是爲什麼我們在此操作過程中使用字母'j'或'J'。
首先有一個網站,有關於「如何轉換數爲單詞使用Oracle SQL查詢」的例子和解釋:如果你想知道更多關於「儒略日」
http://viralpatel.net/blogs/convert-number-into-words-oracle-sql-query/
二請訪問:
http://en.wikipedia.org/wiki/Julian_day
第三,如果你想知道更多關於誰於1583年提出的儒略日數,它是由「約瑟夫凱利格」:
http://en.wikipedia.org/wiki/Joseph_Justus_Scaliger
它不是讓SENCE我繼續repiting什麼在這些網站的另一位作者已經提出,這就是爲什麼我剛剛發佈,您可以訪問它們,讀你需要了解哪些環節如何查詢像這樣的作品:
SELECT TO_CHAR (TO_DATE (2447834, 'j'), 'jsp') FROM DUAL;
//輸出:雙萬447834
閱讀:http://viralpatel.net/blogs/convert-number-into-words-oracle -sql-query/ – 2013-04-20 17:56:18
好的......我按照步驟進行,然後if ound'to_date(sal,'j')'返回'09-FEB-08'爲'1500'。但是,那個帖子說,它會增加到「公元前4713年1月1日」。現在,這意味着什麼? – Ravi 2013-04-20 18:06:23