加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql – 如安在单词中表现数字值

发布时间:2021-01-23 01:16:11 所属栏目:编程 来源:网络整理
导读:问:在Words中表现数字值,输出应如下所示 SAL In_Words--------- -----------------------------------------------------800 eight hundred1600 one thousand six hundred1250 one thousand two hundred fifty 而且,我如故没有弄大白,这个查询是怎样办理上述

问:在Words中表现数字值,输出应如下所示

SAL        In_Words
--------- -----------------------------------------------------
800       eight hundred
1600      one thousand six hundred
1250      one thousand two hundred fifty

而且,我如故没有弄大白,这个查询是怎样办理上述输出的.

select sal,to_char(to_date(sal,'j'),'Jsp') in_words from emp

to_date在这做什么?有人对这个查询有任何设法吗?

办理要领

那么查询怎样事变?那么这就是缘故起因:
select to_char(to_date(:number,'jsp') from dual;

假如你查察查询的最内部部门to_date(:number,’j’),’j’或J是朱利安日期(公元前4713年1月1日),根基上这个日期用于天文研究.

以是to_date(:number,’j’)它取数字所代表的数字并冒充它是朱利安日期,转换成日期.

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

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

此刻to_char(to_date(3,’jsp’),jsp = Now;取该日期(to_date(3,’j’))并拼写它代表的朱利安数字,输出为:

TO_CH
-----
three

行使Julian日期时有一个限定,它的范畴是1到5373484.这就是为什么假如你把值放在5373484之后,它会抛出一个错误,如下所示:

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

各人好,这个话题很故意思.我记适合我在2005年进修Oracle时,个中一位西席要求我编写一个PL / SQL代码来转换单词中的数字,这是一个完备的两页代码.

这里有一些参考可以辅佐我们领略朱利安日,这就是为什么我们在这个操纵中行使字母’j’或’J’.

起首,有一个网站有关于“怎样行使Oracle SQL查询将数字转换为单词”的示例和声名:

http://viralpatel.net/blogs/convert-number-into-words-oracle-sql-query/

其次,假如您想相识更多关于“朱利安日”的信息,请会见:

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

第三,假如你想相识更多关于谁在1583年提出朱利安日数的题目,那就是“Joseph Scaliger”:

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

我不会继承一再这些网站中的另一位作者所做的工作,这就是为什么我只是宣布了你可以会见它们的链接,并阅读了你必要相识怎样查询这样的查询的缘故起因:

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

//输出:两百四十四万七千八百三十四

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读