真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)庫(kù)中TO_CHAR格式轉(zhuǎn)換的方法是什么-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“數(shù)據(jù)庫(kù)中TO_CHAR格式轉(zhuǎn)換的方法是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“數(shù)據(jù)庫(kù)中TO_CHAR格式轉(zhuǎn)換的方法是什么”吧!

創(chuàng)新互聯(lián)建站是一家專(zhuān)注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃、微信平臺(tái)小程序開(kāi)發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開(kāi)發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立10年以來(lái),已經(jīng)為成百上千家成都圍欄護(hù)欄各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的成百上千家客戶與我們一路同行,見(jiàn)證我們的成長(zhǎng);未來(lái),我們一起分享成功的喜悅。

我的經(jīng)理叫我寫(xiě)一個(gè)函數(shù),這個(gè)函數(shù)接受一個(gè)正整數(shù)并返回相應(yīng)的序數(shù)(比如,2->2nd,  145->145th), 這個(gè)序數(shù)是一個(gè)字符串。這個(gè)函數(shù)只接受1和50,000之間的整數(shù)。

下列的哪些選項(xiàng)實(shí)現(xiàn)了函數(shù)plch_n_to_nth, 從而使得它滿足上述需求,在下列塊被執(zhí)行之后:

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;
/

我能見(jiàn)到如下輸出:

1st
8th
256th
25763rd

(A)

CREATE OR REPLACE FUNCTION plch_n_to_nth (n_in IN INTEGER)
   RETURN VARCHAR2
IS
BEGIN
   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: 無(wú)效的數(shù)字格式模型
ORA-06512: 在 "YOGA.PLCH_N_TO_NTH", line 5
ORA-06512: 在 line 2
SQL>

(B)

CREATE OR REPLACE FUNCTION plch_n_to_nth (n_in IN INTEGER)
   RETURN VARCHAR2
IS
BEGIN
   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  /
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: 日期格式圖片在轉(zhuǎn)換整個(gè)輸入字符串之前結(jié)束
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)差點(diǎn)就對(duì)了,這個(gè)答案在年份使用了th格式, 但ORACLE不支持高達(dá)50,000的年份,會(huì)出現(xiàn)如下錯(cuò)誤:
ORA-01830: date format picture ends before converting entire input string
(C)這個(gè)正確使用了TO_CHAR (datetime)的th格式,一天中有86400秒,足夠使用。
(D)這個(gè)自定義函數(shù)正確實(shí)現(xiàn)了轉(zhuǎn)換規(guī)則。

到此,相信大家對(duì)“數(shù)據(jù)庫(kù)中TO_CHAR格式轉(zhuǎn)換的方法是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!


新聞名稱(chēng):數(shù)據(jù)庫(kù)中TO_CHAR格式轉(zhuǎn)換的方法是什么-創(chuàng)新互聯(lián)
鏈接地址:http://weahome.cn/article/espje.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部