数据库中TO_CHAR格式转换的方法是什么
发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,本篇内容主要讲解"数据库中TO_CHAR格式转换的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"数据库中TO_CHAR格式转换的方法是什么"吧!
千家信息网最后更新 2025年01月29日数据库中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安全错误
数据库的锁怎样保障安全
操作系统的上层软件开发
卢小峰网络安全
MOOC计算机网络技术答案
广东前端软件开发哪家可靠
c 链接数据库更新数据
公安网络安全 待遇
杭州较真网络技术
计算机网络技术和编程哪个好
mysql连接公司数据库
肥西新华互联网科技大学
软件开发外包公司的发展战略
咸阳市网络安全应急中心招聘
网络技术什么来的
护苗-网络安全课观后感
科技微讯-互联网的一些事一些情
互联网科技专业大学生
小学生校园网络安全教育
鸿蒙 软件开发企业
19年软件开发工作工资
php 当前服务器时间
云外网络技术有限公司
如果做医疗软件开发有哪些
如何用数据库生成花名册
服务器可以安装安全狗吗
中学网络安全保障制度
黑掉身份证数据库
山大网络安全研究生
苹果手机下载信任该软件开发
充值阿里云服务器费用能开发票吗
102规约对于服务器的要求