数据库中TO_CHAR格式转换的方法是什么

技术数据库中TO_CHAR格式转换的方法是什么本篇内容主要讲解“数据库中TO_CHAR格式转换的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据库中TO_CHAR

本篇内容主要讲解"数据库中目标字符格式转换的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"数据库中目标字符格式转换的方法是什么"吧!

我的经理叫我写一个函数,这个函数接受一个正整数并返回相应的序数(比如2-2号,145-145号),这个序数是一个字符串。这个函数只接受一和50,000之间的整数。

下列的哪些选项实现了函数plch _ n _ to _ n,从而使得它满足上述需求,在下列块被执行之后:

开始

DBMS _ OutPut。put _ line(plch _ n _ to _ n(1));

DBMS _ OutPut。put _ line(plch _ n _ to _ n th(8));

DBMS _ OutPut。put _ line(plch _ n _ to _ n th(256));

数据库管理系统_输出。put _ line(plch _ n _ to _ n th(25763));

结束

/我能见到如下输出:

第一

第8

第256次

第25763次会议

creatoreplaceffectplch _ n _ to _ n(n _ in整数)

RETURNVARCHAR2

开始

RETURNTO_CHAR(n_in,' 9999 ');

结束

/SQLBEIN

2DBMS _ OutPut。put _ line(plch _ n _ to _ n(1));

3DBMS _输出。put _ line(plch _ n _ to _ n th(8));

4 DBMS _ Output。put _ line(plch _ n _ to _ n th(256));

5 DBMS _ Output。put _ line(plch _ n _ to _ n th(25763));

6END

7/

开始

DBMS _ OutPut。put _ line(plch _ n _ to _ n(1));

DBMS _ OutPut。put _ line(plch _ n _ to _ n th(8));

DBMS _ OutPut。put _ line(plch _ n _ to _ n th(256));

数据库管理系统_输出。put _ line(plch _ n _ to _ n th(25763));

结束

ORA-01481:无效的数字格式模型

ORA-06512:在瑜伽PLCH第5行

ORA-06512:在第2行

SQL(二)

creatoreplaceffectplch _ n _ to _ n(n _ in整数)

RETURNVARCHAR2

开始

RETURNLOWER(

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  /
1st
8th
256th
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-01830: 日期格式图片在转换整个输入字符串之前结束
ORA-06512: 在 "YOGA.PLCH_N_TO_NTH", line 5
ORA-06512: 在 line 5
SQL>

(C)

CREATE OR REPLACE FUNCTION plch_n_to_nth (n_in IN INTEGER)
   RETURN VARCHAR2
IS
BEGIN
   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  /
1st
8th
256th
25763rd
PL/SQL procedure successfully completed
SQL>

(D)

CREATE OR REPLACE FUNCTION plch_n_to_nth (
   n_in IN INTEGER)
   RETURN VARCHAR2
IS
   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  /
1st
8th
256th
25763rd
PL/SQL procedure successfully completed
SQL>
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格式转换的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/77273.html

(0)

相关推荐

  • 如何理解AFNetWorking https双向认证

    技术如何理解AFNetWorking https双向认证这篇文章给大家介绍如何理解AFNetWorking https双向认证,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。客户端验证服务端证书:需要

    攻略 2021年11月26日
  • mysql如何查询前10条记录

    技术mysql如何查询前10条记录本篇内容主要讲解“mysql如何查询前10条记录”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql如何查询前10条记录”吧!

    攻略 2021年12月2日
  • 午饭用英语怎么说,该是吃午饭的时候了用英语怎么说

    技术午饭用英语怎么说,该是吃午饭的时候了用英语怎么说英语是:Its time for lunch.句子解释:time 英[taɪm] 美[taɪm] n. 时间; 次; 时代; 时刻; vt

    生活 2021年10月25日
  • 苹果电脑如何切换输入法,Mac下如何切换输入法

    技术苹果电脑如何切换输入法,Mac下如何切换输入法1、如果你只有二个输入法苹果电脑如何切换输入法,一个英文输入法和一个中文输入法,(五笔或拼音),那我们可以用键盘快捷键来切换就行了,按下command键,再按一下空格键,

    生活 2021年10月28日
  • 1楼,为什么有人说买房子不要买一楼

    技术1楼,为什么有人说买房子不要买一楼为什么有人说买房子不要买一楼1楼?都有优势和劣势,它的优势是热天很凉快,不用开多少空调,可以在一楼做生意开个超市,可以在一楼,搞美容美发,也可以搞快递。不用拿铺面租金。老人孩子上下楼

    生活 2021年10月24日
  • rabbitmq如何确保消息不丢失 chengtian

    技术rabbitmq如何确保消息不丢失 chengtian rabbitmq如何确保消息不丢失 chengtian上篇写了掌握Rabbitmq几个重要概念,从一条消息说起,这篇来总结关于消息丢失让人头痛

    礼包 2021年12月21日