如何使用sql将数字转换为单词

时间:2014-02-10 04:30:45

标签: oracle

我需要使用sql将日期转换为单词,是否可能

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

我想知道为什么我们在这个查询中使用'j'和'jsp。

2 个答案:

答案 0 :(得分:3)

TO_DATE (2, 'j')使用Julian格式将数字“2”转换为Oracle DATE数据类型。这给你的日期是公元前47年,公元前4713年。

TO_CHAR( ..., 'jsp' )将Julian日期转换回整数,“sp”表示“拼出数字”。

除非您将日期时间转换为字符串,否则似乎拼写不可用。

答案 1 :(得分:0)

如果你查看查询的最内部部分to_date(:number,'j'),'j'或J是朱利安日期(公元前4713年1月1日),基本上这个日期用于天文研究

所以to_date(:number,'j')取数字所代表的数字并假装它是朱利安日期,转换成日期。

如果您将3传递给数字,那么它将日期转换为公元前4713年1月3日,这意味着将3添加到Julian日期。

现在to_char(to_date(:number,'j'),'jsp'),jsp = Now;取该日期(to_date(:number,'j'))并拼写它代表的朱利安数字