ORACLE函數之單行轉換函式

來源:互聯網
上載者:User

1           ASCIISTR

格式:ASCIISTR(C)

說明:將字串C轉換為ASCII字串,即將C中的ASCII字元保留不變,但非ASCII字元則以ASCII表示返回

舉例:

SQL>SELECT ASCIISTR('AB?CDE資料庫') A FROM DUAL;

A

---------------------

AB?CDE\6570\636E\5E93

2           BIN_TO_NUM

格式:BIN_TO_NUM(n1,n2,n3...)

說明:每位由n1,n2,n3等組成的二進位轉換為十進位

舉例:

SQL>SELECT BIN_TO_NUM(1,1,1,1) A FROM DUAL;

        A

----------

       15

3           CAST

格式:CAST(CAS T)

說明:將運算式C轉換成資料類型T。T可以是內量資料類型,也可以是程式員自訂的資料類型。前提是能夠轉換才可以轉換

舉例:

SQL>SELECT CAST('12345' AS NUMBER) A FROM DUAL;

        A

----------

    12345

4           DECODE

格式:DECODE(x,if 1,then 1, if 2 then 2 ,.., else z)

說明:將x與if值進行比較,如果等於if n就返回then n.否則就返回else z

舉例:

SQL>SELECT DECODE(1,1,0,-1) AS A,DECODE(1,0,0,-1) AS B FROM DUAL;

        A          B

--------------------

        0         -1

5           NUMTODSINTERVAL

格式:NUMTODSINTERVAL(N,C)

說明:把數字N轉換成C指定的INTERVALDAY TO SECOND類型的資料。C的取值為DAY,HOUR,MINUTE,SECOND。C的大小寫無關

舉例:

SQL>SELECT SYSDATE+NUMTODSINTERVAL(10,'DAY') A,SYSDATE+NUMTODSINTERVAL(10,'HOUR') BFROM DUAL;

A                 B

-----------------------------------

2014/7/1117:20:11 2014/7/2 3:20:11

6           NUMTOYMINTERVAL

格式:NUMTODSINTERVAL(N,C)

說明:把數字N轉換成C指定的INTERVALDAY TO SECOND類型的資料。C的取值為YEAR、MONTH。C的大小寫無關

舉例:

SQL>SELECT SYSDATE+NUMTOYMINTERVAL(10,'YEAR') A,SYSDATE+NUMTOYMINTERVAL(10,'MONTH')B FROM DUAL;

A                     B

----------------------------------------

2024/7/117:24:18     2015/5/1 17:24:18

7           TO_CHAR

格式:TO_CHAR(X[,fmt])

說明:將X按fmt格式轉換成字串。X可以是一個日期或者數字,也可以是一個字串,fmt是一個規定了X採用何種格式轉換的格式字串

舉例:

SQL>SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') A,TO_CHAR(111) B FROM DUAL;

A         B

-------------

2014-07-02111

8           TO_CLOB

格式:TO_CLOB(x)

說明:將LOB列中的NCLOB值或其他字串x轉換成CLOB值

舉例:

SQL>SELECT TO_CLOB('AAAA') A FROM DUAL;

A

--------------------------------------------------------------------------------

AAAA

9           TO_DATE

格式:TO_DATE(C[,fmt])

說明:將符合fmt指定的特定日期格式的字串C轉換成DATE類型的資料

舉例:

SQL>SELECT TO_DATE('2014-07-02','YYYY-MM-DD') A,TO_DATE('2014-07','YYYY-MM') B FROMDUAL;

A          B

----------------------

2014/7/2   2014/7/1

10       TO_DSINTERVAL

格式:TO_DSINTERVAL(C)

說明:將符合特定格式的字串C轉換成INTERVALDAY TO SECOND類型的資料

舉例:

SQL>SELECT SYSDATE+TO_DSINTERVAL('1000:00:00') A FROM DUAL;

A

-----------------

2014/7/128:49:39

11       TO_LOB

格式:TO_LOB(X)

說明:將LONG列中的值X轉換成LOB列的值

舉例:

 

12       TO_NUMBER

格式:TO_NUMBER(C[,fmt])

說明:將符合fmt指定的特定數字格式的字串C轉換成數字類型的資料

舉例:

SQL>SELECT TO_NUMBER('0101') A FROM DUAL;

        A

----------

      101

13       TO_TIMESTAMP

格式:TO_TIMESTAMP(C)

說明:將字串C轉換為一個TIMESTAMP資料類型

舉例:

SQL>SELECT TO_TIMESTAMP('2014-07-1214:10:10.12320', 'YYYY-MM-dd HH24:MI:SS.FF') A FROM DUAL;

A

--------------------------------------------------------------------------------

12-7月-14 02.10.10.123200000下午

14       TO_TIMESTAMP_TZ

格式:TO_TIMESTAMP_TZ(C[, fmt])

說明:將符合fmt指定的特定日期格式的字串C轉換成TIMESTAMPWITH TIMEZONE類型的資料,帶時區

舉例:

SQL>SELECT TO_TIMESTAMP_TZ('2014-07-1214:10:10.12320', 'YYYY-MM-dd HH24:MI:SS.FF') A FROM DUAL;

A

--------------------------------------------------------------------------------

12-7月-14 02.10.10.123200000下午 +08:00

15       TO_YMINTERVAL

格式:TO_YMINTERVAL(C)

說明:將符合特定格式的字串C轉換成INTERVALYEAR TO MONTH類型的資料

舉例:

SQL>SELECT SYSDATE+TO_YMINTERVAL('01-03') AFROM DUAL;

A

-----------------

2015/10/29:26:45

16       TRANSLATE

格式:TRANSLATE(X,if y, then z)

說明:查看X中的每個字元,然後查看該字元在if y中是否存在。如果存在,就在if y中找到該字元的位置,然後用then z中相同位置的字元替代該字元,最後返回全部替代之後的X

舉例:

SQL>SELECT TRANSLATE('abcdefghij','abcdef','123456') A FROM dual;

A

----------

123456ghij

17       UNISTR

格式:UNISTR(c)

說明:返回字串c對應的UNICOOE字元

舉例:

SQL>SELECT  UNISTR('01-03') A FROM DUAL;

A

-----------------

01-03

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.