数据库中TO_CHAR格式转换的方法是什么
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,本篇内容主要讲解"数据库中TO_CHAR格式转换的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"数据库中TO_CHAR格式转换的方法是什么"吧!
千家信息网最后更新 2025年11月15日数据库中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安全错误
数据库的锁怎样保障安全
广东服务软件开发公司
武汉哪些大学有软件开发专业
聊天软件开发哪个好
残联网络安全应急处理机制
爬虫软件怎么爬取数据库
郑州中关村互联网科技集体
网络技术公司门头照
诛仙服务器名
程序员编程软件开发运行
武汉达梦数据库近况
电脑服务器复制资料公司会知道吗
在mc中如何搜索服务器
oracle数据库表类型
互联网科技的图片
吉林现代软件开发公司
网络工程师能做网络安全方面吗
饭圈乱象绘画网络安全手抄报
服务器做集群
网络安全的五大障碍
网络安全实验室建设图片
HANA数据库中SUM方法
数据库管理加装多级别安全
xx镇反网络安全宣讲主持词
数据库调查表
软件开发清单中各缩写
服务器里面的通话记录可以删除吗
电子商务数据库的发展
学校网络安全工作会议讲话
与服务器断开
数据库中文排序