zoukankan      html  css  js  c++  java
  • ORACLE单字符函数的函数

    

    1、           ASCII(C)

    说明:返回C的首字符在ASCII码中相应的十进制

    举例:

    SQL>SELECT ASCII('A') A,ASCII('a') B,ASCII('0') C,ASCII(' ') D FROM DUAL;

            A         B          C         D

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

           65        97         48        32

    2、         CHR(N)

    说明:返回十进制ASCIIN相应的字符

    举例:

    SQL>SELECT CHR(65) A,CHR(97) B,CHR(48) C,CHR(32) D FROM DUAL;

    A B CD

    - - --

    A a 0

    3、           CONCAT(C1,C2)

    说明:返回将C2加入到C1后面而形成的字符串。假设C1NULL。那么返回C2。假设C2NULL,那么返回C1。假设C1C2都为NULL,那么返回NULL

    举例:

    SQL>SELECT CONCAT('010-','8888') A,CONCAT(NULL,'8888') B,CONCAT('010-',NULL)C,CONCAT(NULL,NULL) D FROM DUAL;

    A       B   C   D

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

    010-88888888 010-

    4、           INITCAP(C)

    说明:返回C的每一个首字符都大写、其它字符都小写的字符串。

    单词之间以空格,控制字符和标点符号分界

    举例:

    SQL>SELECT INITCAP('you are') A FROM DUAL;

    A

    -------

    YouAre

    5、           INSTR(C1,C2[,N[,M]])

    说明:在C1中从N開始搜索C2M次出现的位置,并返回该位置数字。假设N是负数。则搜索从右向左进行,但位置数字仍然从左向右计算。NM默认都是1

    举例:

    SQL>SELECT INSTR('aabbccddee','cc') A,INSTR('aabbccddee','cc',5)B,INSTR('aabbccddeecc','cc',1,2) C,INSTR('aabbccddee','cc',-6) D FROM DUAL;

            A         B          C         D

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

            5         5         11         5

    6、           LENGTH(C)

    说明:返回C的长度。包含全部的后缀空格;假设C是空字符串或者NULL,则返回NULL

    举例:

    SQL> SELECT LENGTH('aabbccdd') A,LENGTH('') B,LENGTH(NULL) C FROM DUAL;
             A          B          C
    ---------- ---------- ----------
             8           

    7、          LOWER(C)

    说明:返回将C所有字符都小写之后的字符串

    举例:

    SQL>SELECT LOWER('AaBbCcDd') A FROM DUAL;

    A

    --------

    aabbccdd

     

    8、         LPAD(C1,N[,C2])

    说明:在C1的左边填充C2,直到字符串的总长度达到NC2的默认值为空格。假设C1的长度大于N,则返回C1左边的N个字符

    举例:

    SQL>SELECT LPAD('aabbcc',8) A,LPAD('aabbcc',4) B,LPAD('aabbcc',8,'0') C FROM DUAL;

    A       B   C

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

     aabbcc aabb 00aabbcc

    9、         LTRIM(C1[,C2])

    说明:去掉C1左边所包括的C2中的不论什么字符。当遇到不是C2中的字符时结束,然后返回剩余的字符串。

    C2默觉得空格

    举例:

    SQL>SELECT LTRIM(' aabb ') A,LTRIM('00aabb00','0') B FROM DUAL;

    A     B

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

    aabb  aabb00

    10、       NANVL(X,value)

    说明:该函数仅仅对BINARY_FLOATBINARY_DOUBLE起作用。

    假设X匹配NaN(即非数字),就返回value。否则返回X

    举例(PL/SQL中无法运行,必须在SQLPLUS里运行):

    SQL>CREATETABLE NANVL_demo(dec_numNUMBER(10,2), bin_doubleBINARY_DOUBLE, bin_floatBINARY_FLOAT);

     

    表已创建。

     

    SQL>INSERTINTO NANVL_demoVALUES(0,'NaN','NaN');

     

    已创建1行。

     

    SQL>SELECT*FROM NANVL_demo;

     

      DEC_NUM BIN_DOUBLE BIN_FLOAT

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

            0       Nan       Nan

     

    SQL>SELECT bin_float,NANVL(bin_float,0)FROM NANVL_demo;

     

     BIN_FLOATNANVL(BIN_FLOAT,0)

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

          Nan                 0

    11、       NVL(X,value)

    说明:假设X为空。就返回value,否则返回X

    举例:

    SQL>SELECT NVL('','aabb') A,NVL(NULL,'aabb') B,NVL('aa','aabb') C FROM DUAL;

    A   B   C

    -------- --

    aabbaabb aa

    12、      NVL2(X,value1,value2)

    说明:假设X为空,就返回value1。否则返回value2

    举例:

    SQL>SELECT NVL2('','aabb','ccdd') A,NVL2(NULL,'aabb','ccdd')B,NVL2('aa','aabb','ccdd') C FROM DUAL;

    A   B   C

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

    ccddccdd aabb

    13、       REPLACE(C1,C2[,C3])

    说明:把C1中出现的C2都置换成C3,然后返回剩余的字符串。

    C3默觉得NULL

    假设C3NULL,那么全部出现C2的地方的字符都被删除。假设C2NULL,则将返回C1;假设C1NULL,则将返回NULL

    举例:

    SQL>SELECT REPLACE('aabbccaabb','aa','00') A,REPLACE('aabbccaabb','aa')B,REPLACE('aabbccaabb',NULL) C FROM DUAL;

    A         B     C

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

    00bbcc00bbbbccbb aabbccaabb

     

    14、       RPAD(C1,N[,C2])

    说明:在C1的右边填充C2,直到字符串的总长度到达NC2的默认值为空格。

    N是返回的字节长度的字符串。假设这个数量比原字符串的字节长度要短,RPAD函数将会把字符串截取成从左到右的N个字符

    举例:

    SQL>SELECT RPAD('aabbcc',8) A,RPAD('aabbcc',4) B,RPAD('aabbcc',8,'0') C FROM DUAL;

    A       B   C

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

    aabbcc  aabb aabbcc00

     

    15、   RTRIM(C1[,C2])

    说明:去掉C1右边所包括的C2中的不论什么字符,当遇到不是C2中的字符时结束,然后返回剩余的字符串。C2默觉得空格

    举例:

    SQL>SELECT RTRIM(' aabb ') A,RTRIM('00aabb00','0') B FROM DUAL;

    A     B

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

     aabb 00aabb

    16、      SUBSTR(C,M[,N])

    说明:返回C的子串,当中M是子串開始的位置,N是子串的长度。假设M0,则从C的首字符開始:假设M是负数,则从C的结尾的指定位置開始

    举例:

    SQL>SELECT SUBSTR('aabbccdd',3) A,SUBSTR('aabbccdd',3,2) B,SUBSTR('aabbccdd',-3,2)C FROM DUAL;

    A     B C

    -------- --

    bbccddbb cd

    17、     TRANSLATE(string,from_str,to_str)

    说明:返回将(全部出现的)from_str中的每一个字符替换为to_str中的对应字符以后的string

    TRANSLATE REPLACE所提供的功能的一个超集。假设 from_str to_str长。那么在 from_str中而不在 to_str中的额外字符将从 string中被删除。由于它们没有对应的替换字符。to_str不能为空。

    Oracle将空字符串解释为 NULL,而且假设TRANSLATE中的不论什么參数为NULL,那么结果也是 NULL

    举例:

    SQL>select TRANSLATE('aabbcc','aabb','0011') A,TRANSLATE('abcbbaadef','ba','#@')B,TRANSLATE('22AABBCC22','0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','0123456789') Cfrom dual;

    A     B         C

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

    0011cc@#c##@@def 2222

    18、      TRIM([C1] C2 FROM C3)

    说明:当中,C1是保留宇,能够取例如以下字符串:LEADINGTRAILINGBOTHC1必须和FROM一起使用。

    C3字符串的C1处開始。删除C2字符,然后返回剩余的C3字符串。C1默觉得BOTHC2默觉得空格。假设C1C2C3中有不论什么一个为NULL,则返回NULL

    举例:

    SQL>SELECT TRIM(' aabb ') A,TRIM(LEADING '0' FROM '00aabb00')B,TRIM(TRAILING '0' FROM '00aabb00') C,TRIM(BOTH '0' FROM '00aabb00') D FROMDUAL;

    A   B     C     D

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

    aabbaabb00 00aabb aabb

    19、    UPPER(C)

    说明:返回将C所有字符都大写之后的字符串

    举例:

    SQL>SELECT UPPER('aabbccdd') A FROM DUAL;

    A

    --------

    AABBCCDD

  • 相关阅读:
    个人学期总结
    201571030130/201571030124《小学四则运算练习软件需求说明》结对项目报告
    201571030124/201571030130《小学生四则运算练习软件》结对项目报
    201571030124 四则运算
    201571030124 初读《构建之法》(Build To Win)有感
    个人学期总结
    201571030130/201571030124《小学四则运算练习软件软件需求说明》结对项目报告
    201571030130/201571030124《小学生四则运算练习软件》结对项目报
    201571030130 小学生四则运算练习软件项目报告
    读《现代软件工程——构建之法》有感
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4567303.html
Copyright © 2011-2022 走看看