数据库中TO_CHAR格式转换的方法是什么
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"数据库中TO_CHAR格式转换的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"数据库中TO_CHAR格式转换的方法是什么"吧!
千家信息网最后更新 2026年11月01日数据库中TO_CHAR格式转换的方法是什么
本篇内容主要讲解"数据库中TO_CHAR格式转换的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"数据库中TO_CHAR格式转换的方法是什么"吧!
我的经理叫我写一个函数,这个函数接受一个正整数并返回相应的序数(比如,2->2nd, 145->145th), 这个序数是一个字符串。这个函数只接受1和50,000之间的整数。
下列的哪些选项实现了函数plch_n_to_nth, 从而使得它满足上述需求,在下列块被执行之后:
BEGIN DBMS_OUTPUT.put_line (plch_n_to_nth (1)); DBMS_OUTPUT.put_line (plch_n_to_nth (8)); DBMS_OUTPUT.put_line (plch_n_to_nth (256)); DBMS_OUTPUT.put_line (plch_n_to_nth (25763));END;/
我能见到如下输出:
1st8th256th25763rd
(A)
CREATE OR REPLACE FUNCTION plch_n_to_nth (n_in IN INTEGER) RETURN VARCHAR2ISBEGIN RETURN TO_CHAR (n_in, '9999th');END;/
SQL> BEGIN 2 DBMS_OUTPUT.put_line (plch_n_to_nth (1)); 3 DBMS_OUTPUT.put_line (plch_n_to_nth (8)); 4 DBMS_OUTPUT.put_line (plch_n_to_nth (256)); 5 DBMS_OUTPUT.put_line (plch_n_to_nth (25763)); 6 END; 7 /BEGIN DBMS_OUTPUT.put_line (plch_n_to_nth (1)); DBMS_OUTPUT.put_line (plch_n_to_nth (8)); DBMS_OUTPUT.put_line (plch_n_to_nth (256)); DBMS_OUTPUT.put_line (plch_n_to_nth (25763));END;ORA-01481: 无效的数字格式模型ORA-06512: 在 "YOGA.PLCH_N_TO_NTH", line 5ORA-06512: 在 line 2SQL>
(B)
CREATE OR REPLACE FUNCTION plch_n_to_nth (n_in IN INTEGER) RETURN VARCHAR2ISBEGIN RETURN LOWER ( TO_CHAR ( TO_DATE ('1-1-' || n_in, 'dd-mm-yyyy') , 'FMYYYYth'));END;/SQL> BEGIN 2 DBMS_OUTPUT.put_line (plch_n_to_nth (1)); 3 DBMS_OUTPUT.put_line (plch_n_to_nth (8)); 4 DBMS_OUTPUT.put_line (plch_n_to_nth (256)); 5 DBMS_OUTPUT.put_line (plch_n_to_nth (25763)); 6 END; 7 /1st8th256thBEGIN DBMS_OUTPUT.put_line (plch_n_to_nth (1)); DBMS_OUTPUT.put_line (plch_n_to_nth (8)); DBMS_OUTPUT.put_line (plch_n_to_nth (256)); DBMS_OUTPUT.put_line (plch_n_to_nth (25763));END;ORA-01830: 日期格式图片在转换整个输入字符串之前结束ORA-06512: 在 "YOGA.PLCH_N_TO_NTH", line 5ORA-06512: 在 line 5SQL>
(C)
CREATE OR REPLACE FUNCTION plch_n_to_nth (n_in IN INTEGER) RETURN VARCHAR2ISBEGIN RETURN LOWER ( TO_CHAR ( TO_DATE ('1-1-2011 ' || n_in , 'dd-mm-yyyy SSSSS') , 'FMSSSSSth'));END;/SQL> BEGIN 2 DBMS_OUTPUT.put_line (plch_n_to_nth (1)); 3 DBMS_OUTPUT.put_line (plch_n_to_nth (8)); 4 DBMS_OUTPUT.put_line (plch_n_to_nth (256)); 5 DBMS_OUTPUT.put_line (plch_n_to_nth (25763)); 6 END; 7 /1st8th256th25763rdPL/SQL procedure successfully completedSQL>
(D)
CREATE OR REPLACE FUNCTION plch_n_to_nth ( n_in IN INTEGER) RETURN VARCHAR2IS c_last_digit CONSTANT PLS_INTEGER := MOD (n_in, 10) ; c_tens_digit CONSTANT CHAR (1) := SUBSTR ('0' || TO_CHAR (n_in), -2, 1) ;BEGIN RETURN TO_CHAR (n_in) || CASE WHEN c_tens_digit = '1' THEN 'th' WHEN c_last_digit = 1 THEN 'st' WHEN c_last_digit = 2 THEN 'nd' WHEN c_last_digit = 3 THEN 'rd' ELSE 'th' END;END plch_n_to_nth;/SQL> BEGIN 2 DBMS_OUTPUT.put_line (plch_n_to_nth (1)); 3 DBMS_OUTPUT.put_line (plch_n_to_nth (8)); 4 DBMS_OUTPUT.put_line (plch_n_to_nth (256)); 5 DBMS_OUTPUT.put_line (plch_n_to_nth (25763)); 6 END; 7 /1st8th256th25763rdPL/SQL procedure successfully completedSQL>
CD.(A)你不能在TO_CHAR(NUMBER)中使用TH格式,只能在TO_CHAR (datetime)中使用。(B)差点就对了,这个答案在年份使用了th格式, 但ORACLE不支持高达50,000的年份,会出现如下错误:ORA-01830: date format picture ends before converting entire input string(C)这个正确使用了TO_CHAR (datetime)的th格式,一天中有86400秒,足够使用。(D)这个自定义函数正确实现了转换规则。
到此,相信大家对"数据库中TO_CHAR格式转换的方法是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
格式
函数
方法
数据
数据库
内容
字符
字符串
年份
序数
整数
学习
实用
更深
对了
之间
兴趣
图片
实用性
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东万易互联网科技有限公司惠州分公司
南京欣网互联网络科技有限公司
河南云网互联网络科技有限公司
互联网科技公司税收优惠
互联网科技金融公司
嘟嘟瓜互联网科技
互联网科技的英文
致聘互联网科技
广州紫鲸互联网科技
深圳卡尔迅互联网科技有限公司怎么样
成都仁贤领冠互联网科技有限公司
顶级互联网科技成果有哪些
赶超互联网科技 微信多开
元气玛特互联网科技公司是外包吗
四川互联网展示科技馆设计
扫呗互联网科技有限公司
萌小萌互联网科技河南有限公司
湖北辰鑫科技互联网
现代互联网科技公司
伍佰万互联网科技是干嘛的
耶加雪菲
科技赋能下的互联网金融
互联网属科技
没上市的科技互联网公司
关于新基建和互联网科技
上海亿帐通互联网科技
互联网科技革命什么开始
高科技互联网套路
互联网企业科技类企业如何做账
同城互联网络科技