SQL内置函数说明

 
SQL 内置函数说明
数字格式元素
数字格式元素
日期格式元素
日期格式元素
日期格式元素
日期格式元素
        一般地,日期格式说明符是不太敏感的。然而,当为了显示而说明日期格式、对于文本数据中的说明符等情况下,它就变得比较务实、具体了。以月份的名字为例,通过下面引用的结果解释一下该情况的效果:
        TO_CHAR(SYSDATE,’MONTH’)=NOVEMBER
        TO_CHAR(SYSDATE,’Month’)=November
        TO_CHAR(SYSDATE,’month’)=november
        当你键入的单词MONTH(月份)是大写字母时,月份名字的结果就全部说明为大写。否则,如果串说明时的首字母是大写,则返回的月份名首字母也是大写字母。同样的规则也适用于下面的格式说明符:AD、AM、PM、BC、DAY、DY、MON、RM和YEAR
SQL内置函数
ABS
        ABS函数返回一数值的绝对值。负数将舍去其负号。下面是它的语法格式:
        ABS(number)
        其中,number是希望得到其绝对值的数值
        ABS函数截去数值的符号。如下例所示:
        ABS(5)=5
        ABS(5)=5
        不管是5还是-5,其绝对值均为5。
SQL内置函数
ACOS
       ACOS函数返回一数值的反余弦值。结果以弧度表示,且在0到PI之间。
        其语法格式如下:
        ACOS(number)
        其中,number必须是-1与1之间的值
        下面的例子显示了1和-1 的反余弦值:
        ACOS(1)=0
        ACOS(-1)=3.1415927(PI)
SQL内置函数
ADD_MONTHS
       ADD_MONTHS函数将一个日期上加上一指定的月份数,所以,日期中的日将是不变的。然而,如果开始日期是某月的最后一天,那么,结果将会调整以使返回值仍对应新的一月的最后一天。如果,结果月份的天数比开始月份的天数少,那么,也会向回调整以适应有效日期。其语法格式如下:
        ADD_MONTHS(date,months)
        其中:
        date     一个日期数值
        months 要加上的月份数。要减去的月份数用负数
        下面的例子解释了该函数的使用:
        ADD_MONTHS(TO_DATE(’15-Nov-1961’,’d-mon-yyyy’),1)    =’15-Dec-1961
        ADD_MONTHS(TO_DATE(’30-Nov-1961’,’d-mon-yyyy’),1)    =’31-Dec-1961
        ADD_MONTHS(TO_DATE(’31-Jan-1999’,’d-mon-yyyy’),1)   =’28-Feb-1999
        注意,在上面的第三个例子中,函数将不得不将31日往回调整为28日,已使结果对应新一月的最后一天。因为,1999年的2月份只有28天。在第二个例子中,则是从30往后调整为31,也同样是为了保持对应的最后一天。
SQL内置函数
ASCII
       ASCII函数返回你指向的字符串首字母的十进制表示代表码值。该返回值或许是ASCII码值,也或许不是。如果用户的数据库字符集是7位的ASCII值,那就得到一ASCII码值。该返回值总是以用户使用的字符集为基础的。
        ASCII(string)
        其中:string一个字符串。更多的时候就是一字符
        下面的例子解释了该函数的使用:
        ASCII(‘j’)=74
        ASCII(‘jeff’)=74
        从上面的第二个例子,我们不难看出,如果指定了一个多字符串,该函数将忽略除首字母外的所有字符。
SQL内置函数
ASIN
        ASIN函数返回一数值的反正弦值。结果以弧度表示,且在-PI/2到PI/2之间。
        其语法格式如下:
        ASIN(number)
        其中:number必须是-1与1之间的值
        下面的例子显示了1和-1的反正弦值:
        ASIN(1)=1.57
        ASIN(-1)=-1.57
SQL内置函数     
ATAN
        ATAN函数返回一数值的反正切值。结果以弧度表示,且在-PI/2到PI/2之间。
        其语法格式如下:
        ATAN(number)
        其中:number必须是-1与1之间的值
        下面的例子显示了1和-1 的反正切值:
        ATAN(1)=0.7854
        ATAN(-1)=-0.7854
SQL内置函数
ATAN2
 ATAN2函数返回两个数值的反正切值。结果以弧度表示。
        其语法格式如下:
        ATAN2( first,second)
        其中:
        first   第一个数
        second 第二个数
        函数ATAN2( first,second)与函数TAN(first/second)的功能是相同的。
        下面的例子显示了1和-1的反正切值:
        ATAN2(1,.5)=1.107
        TAN(1/.5)=1.107
SQL内置函数
BFILENAME
        BFILENAME函数返回一指向磁盘的物理文件的BFILE地址。
        其语法格式如下:
        BFILENAME(directory,filename)
        其中:
        directory         一个包括指定文件的目录路径字符串。              该目录通过命令CREATE DIRECTORY产生。              但它不是一个操作系统目录
        filename     指定目录中用户试图指定的文件名字。            该文件可以是预先不存在的文件
        下面的例子解释了BFILENAME函数的使用情况:
        BFILENAME(‘gif_dir’,’book_photo.gif’)
SQL内置函数
CEIL
        CEIL函数根据输入值返回一个数值。输入参数可以是非整数值,但返回结果则是大于等于输入参数的最小整数。
        其语法格式如下:
        CEIL(number)
        其中:
        number 任意数值,十进制数
        下面的例子解释了CEIL函数的使用情况:
        CEIL(5.1)=6
        CEIL(-5.1)=-5
        应注意,对于负数使用该函数的结果。大于等于-5。1的最小整数精确地讲应该是-5。这是数学上的情况,但首先也是记数中知觉上的感觉。
SQL内置函数
CHARTOROWID
        CHARTOROWID函数将一个字符串转换成rowid类型。
        其语法格式如下:
        CHARTOROWID(string)
        其中:
        string 待处理的字符串。该字符串应该能表示一个有效的             rowid型数据
        下面的例子解释了CHARTOROWID函数的使用情况:
        SQL>SELECT ROWID FORM dual;
        ROWID
        ----------
        AAAADCAABAAAAVUAAA
        SQL>SELECT * FORM dual
         2 WHERE ROWID=CHARTOROWID(‘AAAADCAABAAAAVUAAA’);
        D
        -
        X
SQL内置函数
CHR
       CHR函数就相应的数据库字符集,返回一个指定数值相应的字符。例如,给定一个ASCII值,使用CHR函数返回该数值表示的字符。
        其语法格式如下:
        CHR(integer[USING NCHAR_CS])
        其中:
        integer          在相应的字符集中,代表对应字符                   的整数类型
        USING NCHAR_CS 指明相应的字符集
        下面的例子解释了CHR函数的使用情况:
        CHR(10)=a tab character
        CHR(65)=‘A’
        这些例子假设基于ASCII字符集
SQL内置函数
CONCAT
       CONCAT函数将两个输入字符串,组合成一个,并返回结果。
        其语法格式如下:
        CONCAT(string_1,string_2)
        其中:
        string_1         第一个字符串
        string_2         第二个字符串。该字符串将被拼接在第一             个字符串的尾部
        下面的例子解释了CONCAT函数的使用情况:
        CONCAT(‘This is’,’a test’)=‘This is a test’
SQL内置函数
CONVERT
       CONVERT函数把一字符串从一个字符集转换到另一字符集。
        其语法格式如下:
        CONVERT(string,dest_char_set[,source_char_set])
        其中:
        string          待转换的字符串
        dest_char_set   目标字符串
        source_char_set 源字符集。省略默认数据库字符集
        下面的例子解释了CONVERT函数的使用情况:
        CONVERT(‘Jonathan’,’WE8EBDIC37C’,’US7ASCII’)
        CONVERT(‘Jonathan’,’WE8ROMAN8’)
        第一个例子从US7ASCII字符集转换。第二个例子从默认数据库字符集转换。
SQL内置函数
COS
       COS函数返回一角度的余弦值。结果为弧度值。
        其语法格式如下:
        COS(angle)
        其中:
        angle    角度值,用弧度表示
        下面的例子解释了COS函数的使用情况:
        COS(90*3.14/180)=.000796
        COS(0)=1
SQL内置函数
COSH
        COSH函数返回一角度的双曲余弦值。
        其语法格式如下:
        COSH(angle)
        其中:
        angle    角度值,以弧度表示
        下面的例子解释了COSH函数的使用情况:
        COSH(0)=1
        COSH(90*3.14/180)=2.507
        将角度值转化成弧度值,可以参考COS函数的有关部门信息
SQL内置函数
DECODE( )
        DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于SQL的其它函数,DECODE函数还能识别和操作空值。
        其具体的语法格式如下:
        DECODE(input_value,value,result[,value,result…][,default_result]);
        其中:
        input_value              试图处理的数值。DECODE函数将该数值与一系列的序偶相比                     较,以决定最后的返回结果
        value            是一组成序偶的数值。如果输入数值与之匹配成功,则相应                     的结果将被返回。对应一个空的返回值,可以使用关键字                        NULL于之对应
        result           是一组成序偶的结果值
        default_result 未能与任何一序偶匹配成功时,函数返回的默认值
        下面的例子说明了,人们如何读取用户CHECKUP表SEAPARK中的BLOOD_TEST_FLAG列下的项目,作为DECODE函数的实参支持值。
        SELECT checkup_type,
                DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,
                ’Invalid’)
        FROM       checkup;
SQL内置函数
DECODE( )
       这个SQL语句展示了DECODE函数的左右基础功能特征。函数的输入值时BLOOD_TEST_FLAG列的数据,如果该列的值是‘Y’,那么,函数返回‘YES’。如果该列的值是NULL,那么,函数返回‘None’。如果没有与任何一个序偶匹配成功,则表示该列当前值无效,函数返回‘Invalid’。
        在SQL疑难问题中,DECODE函数常常发挥非常灵活的作用。其中的一个技术就是为了某种目的可以将一个表的行转换成列。例如:
        SQL>SELECT TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’),
        2               COUNT(*)
        3       FROM AQUATIC_ANIMAL
        4       WHERE TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’)
        5               IN(‘1995’,’1996’,’1997’)
        6       GROUP BY TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’);
        TO_C COUNT(*)
        --- -------
        1995            1
        1996            3
        1997            1
       
SQL内置函数
        该例告诉我们,1995、1996和1997年各出生了多少动物。每一行显示不同的年。一旦希望将这些数值显示成3列,该如何处理?可以通过如表B-1所示的方法处理之。
SQL内置函数
EMPTY_BLOB
        EMPTY_BLOB函数返回一空的BLOB指针,该指针可以用在INSERT或UPDATE命令中,以初始化BLOB列项。
        其具体的语法格式如下:
        EMPTY_BLOB()
        该函数没有参数。下面的例子说明了如何使用该函数初始化BLOB列,并作为一个新行插入到表中。
        INSERT INTO some_table
        (blob_column)
        VALUES (EMPTY_BLOB());
SQL内置函数
EMPTY_CLOB
        EMPTY_CLOB函数与EMPTY_BLOB函数的功能类似,只不过对应CLOB而已。它返回一空的CLOB指针,该指针可以用在INSERT或UPDATE命令中,以初始化CLOB列。
        其具体的语法格式如下:
        EMPTY_CLOB()
        该函数没有参数。下面的例子说明了如何使用该函数初始化CLOB列,并作为一个新行插入到表中。
        INSERT INTO some_table
        (clob_column)
        VALUE(EMPTY_CLOB());
 
SQL内置函数
EXP
        EXP函数返回e的一个幂。在数学上e经常被用来表示一指定的特殊数值(一个十进制的无限数)2.178…,它是数学的基础。其具体的语法格式如下:
        EXP(exponent)
        其中:
        exponent         返回e的少次(exponent)幂
        下面是该函数的使用情况:
        EXP(1)=2.7182818
        EXP(3)=20.085537(2.7182818*2.7182818*2.7182818)
SQL内置函数
FLOOR
        FLOOR函数返回一个小于或等于给定十进制数的最大整数。该函数的工作机制与函数CEIL的情况极为相似,但却正好相反。
        其具体的语法格式如下:
        FLOOR(number)
        其中:
        number 任意数,包括十进制数
        下面是该函数的使用情况:
         FLOOR(5.1)=5
         FLOOR(-5.1)=-6
        为了理解函数FLOOR和函数CEIL在处理负数时的不同机制,可以比较函数FLOOR(5.1)和函数CEIL(-5.1)的执行结果。
SQL内置函数
GREATEST
        GREATEST函数返回一数值列表中的最高数值。可使用GREATEST函数处理数字数据和字符数据。
        其具体的语法格式如下:
        GREATEST( value,value,value,…)
        其中:
        value    数字数据或文本数据。一般地,所有数值的类型应该一致。             如果给定的数据类型相混,返回值将匹配第一个参数类型,              其余的所有参数自然被转换成对应的类型
        下面是该函数的使用情况:
        GREATEST( 1,3,9,45,93,2,-100)=93
        GREATEST( ’Jenny’,’Jeff’,’Ashley’)= ’Jenny’
        GREATEST( ’11’,101)=‘11’
        第三个例子反映了参数类型相混时的函数处理情况。因为第一的数据类型是字符串,所以,Oracle将数字1转换成字符串‘1’,以匹配对应的数据类型。虽然在数值上101大于11,但如果都转换成字符串,则结果正好相反。这种情况下,‘11’大于‘101’,并且,也是函数的返回结果。
 
SQL内置函数
HEXTORAW
        函数HEXTORAW将一个由十六进制字符组成的字符串转换成一个raw数值。
        其具体的语法格式如下:
        HEXTORAW( string)
        其中:
        string 十六进制字符组成的字符串数据
SQL内置函数
INITCAP
        INITCAP函数接收一字符串,并转换该字符串中的所有单词,以使各单词均以大写字母开头。
        其的语法格式如下:
        INITCAP(string)
        其中:
        string 任意一VARCHAR2或CHAR型数据
        下面是该函数的使用情况。
        INITCAP(‘This is a test’=‘This is a test’
SQL内置函数
INSTR
        函数INSTR会告诉用户,其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。
        其具体的语法格式如下:
        INSTR( string,substring[,start[,occurrence]])
        其中:
        string 待查询的字符串
        substring        正在搜索的字符串
        start    说明开始搜索的字符位置。默认值是1,就是说,搜            索将从字符串的第一个字符开始。如果,参数为负                则表示搜索的位置从右边开始计算,而不是默认的            从左边开始
        occurrence       指定试图搜索的子串的第几次出现,默认值是1,意            味着希望其首次出现
        该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTR函数的使用情况:
        INSTR(‘AAABAABA’,’B’)=4
        INSTR(‘AAABAABA’,’B’,1,2)=7
SQL内置函数
INSTRB
        该函数与INSTR的功能极为类似,也将反馈其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。只是该函数返回的是一字节索引位置,而不是一字符索引位置。其实,仅仅在多个字符集同时被使用时,这种不同才有意义。
        其具体的语法格式如下:
        INSTRB( string,substring[,start[,occurrence]])
        其中:
        string 待查询的字符串
        substring        正在搜索的字符串
        start    说明开始搜索的字符位置。默认值是1,就是说,搜索将从字            符串的第一个字符开始。如果,参数为负则表示搜索的位置从              右边开始计算,而不是默认的从左边开始
        occurrence       指定试图搜索的子串的第几次出现,默认值是1,意味着希望            其首次出现
        该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTRB函数的使用情况:
        INSTRB(‘AAABAABA’,’B’)=4
        INSTRB(‘AAABAABA’,’B’,1,2)=7
SQL内置函数
LAST_DAY
        函数LAST_DAY返回实参数指定日期对应月份的最后一天。其具体的语法格式如下:
        LAST_DAY( date)
        其中:
        date     一日期数值
        下面是该函数的使用情况:
        LAST_DAY(TO_DATE(’29-Dec-1988’,’dd-mon-yyyy’))
                =’31-Dec-1988’
        LAST_DAY(TO_DATE(’1-Feb-2000’,’dd-mon-yyyy’))
                =’29-Feb-2000
SQL内置函数
LEAST
        LEAST函数返回参数给定的数值列表中的最小值。对数值数据或字符串数据均有效。
        其具体的语法格式如下:
        LEAST( value,value,value,…)
        其中:
        value    一数字或文本数值。尤其要注意的是所有的数据类             型应该一致。如果类型相混,返回值将匹配第一个              参数的数据类型,而且,其它所有的参数均被转换            成该参数的数据类型
        下面是该函数的使用情况:
        LEAST(1,3,9,45,93,2,-100)=-100
        LEAST( ’Jenny’,’Jeff’,’Ashley’)=‘Ashley’
        LEAST( ’110’,12)=‘110’
        第三个例子说明了,当参数的数据类型相混时函数的处理机制。因为第一个参数实字符串,所以,将数字1转换成字符串‘1’,一匹配对应的数据类型。虽然在数值上110大于12,但如果都转换成字符串,则结果正好相反。这种情况下,‘12’大于‘110’(一顺序为基础),这就是函数的返回结果。
SQL内置函数
LENGTH
        LENGTH函数返回字符串的长度。
        其具体的语法格式如下:
        LENGTH(string)
        其中:
        string 任意字符串
        下面是该函数的使用情况:
        LENGTH( ’This is short’)=13
        LENGTH( ’This is a bit longer’)=20
SQL内置函数
LENGTHB
        LENGTHB函数返回字符串的长度。但在多字符集同时使用时会有所区别。
        其具体的语法格式如下:
        LENGTHB(string)
        其中:
        string 任意字符串
        下面是该函数的使用情况:
        LENGTHB( ’This is short’)=13
        LENGTHB( ’This is a bit longer’)=20
 
SQL内置函数
LN
        函数LN返回一数值的自然对数。
        其具体的语法格式如下:
        LN( number)
        其中:
        number 大于0的任意数值
        下面是该函数的使用情况:
        LN(10)=2.3025851
        EXP(2.3025851)=10
        可见,将函数LN的结果作为参数,通过再调用函数EXP可得到函数LN的原参数值。
SQL内置函数
LOG
        LOG函数返回数值的非自然对数。
        其具体的语法格式如下:
        LOG( logbase,number)
        其中:
        logbase除1和0以外的任意数值,是对数的底
        number 及对数的真数
        下面是该函数的使用情况:
        LOG(10,100)=2
        LOG(EXP(1),10)=2.3025851=LN(10)
        因为10 2等于100,所以,以10为底时100的对数是2。注意:LOG(e,x)=LN(x).可以使用EXP(1)得到e的值。
SQL内置函数
LOWER
        函数LOWER返回参数指定字符串的小写形式。
        其具体的语法格式如下:
        LOWER( atring)
        其中:
        string 任意VARCHAR2型或CHAR型的数值 
        下面是该函数的使用情况:
        LOWER( ’This IS a Test’)=‘This is a test’
SQL内置函数
LPAD
        LPAD函数从左面填充指定的字符串。
        其具体的语法格式如下:
        LPAD( string,numchars[,padding])
        其中:
        string 任意VARCHAR2型或CHAR型的字符串
        numchars         返回字符串的字符个数
        padding填充字符。是一可选项,默认为单个空格
        下面是该函数的使用情况:
        LPAD( ’Jenny’,10)=‘Jenny’(5 leading spaces)
        LPAD( ’Jenny’,10,’*’)=‘*****Jenny’
        LPAD( ’Jenny’,10,’*!’)=‘*!*!*Jenny’
SQL内置函数
LTRIM
        LTRIM函数删除字符串左边的前缀字符。一般前缀字符总是空格。
        其具体的语法格式如下:
        LTRIM( string[,trimchars])
        其中:
        string 任意VARCHAR2型或CHAR型的数值
        trimchars       待删除的字符串
        下面是该函数的使用情况:
        LTRIM( ’     Jeff’)=‘Jeff’(leading spaces removed)
        LTRIM( ’*****Jeff’,’*’)=‘Jeff’
        LTRIM( ’*!*!*Jeff’,’*!’)=‘Jeff’
SQL内置函数
MOD
        MOD函数返回一个数除以另一数的余数。
        其具体的语法格式如下:
        MOD( number,divisor)
        其中:
        number 任意数值
        divisor 任意数值。该函数计算number/divisor的余数
        下面是该函数的使用情况:
        MOD( 14,12)=2(1400 hours=2:00 O’Clock)
        MOD( 10,10)=0
        MOD(10,0)=10
        注意:如果除数为0则返回原来的数
SQL内置函数
MONTHS_BETWEEN
        MONTHS_BETWEEN函数返回两个日期之间的月份数
        其具体的语法格式如下:
        MONTHS_BETWEEN( date_1,date_2)
        其中:
        date_1 日期型数据
        date_2 一日期型数据
        如果两个参数代表的是某月中的同一日期,或它们军代表的某月中的最后一天,则该函数返回一整型值。否则,将返回一分数。另外,如果第一个参数代表的日期小于第二个参数代表的日期,则返回一负值。
        下面是该函数的使用情况:
        MONTHS_BETWEEN( TO_DATE(’29-Dec-1999’,’dd-mon-yyyy’),
                TO_DATE(’29-Dec-1988’,’dd-mon-yyyy’)) =132
        MONTHS_BETWEEN( TO_DATE(’29-Dec-1999’,’dd-mon-yyyy’),
                TO_DATE(’24-Nov-1988’,’dd-mon-yyyy’)) =133.16129
        在第一个例子中,两个参数均为某一月中的29号,所以返回一整型值(其间相差的月份数),在第二个例子中,因两个参数表示的日期不是同一天,所以返回一分数(以31天为基础计算处理)
SQL内置函数
NEW_TIME
        NEW_TIME函数将在时区间转换日期/时间数据。
        其具体的语法格式如下:
        NEW_TIME( date,oldzone,newzone)
        其中:
        date             一日期数值。在Oracle中,除其自己以外,所有日            期数值都有时间和记号这样的成分
        oldzone代表时区的字符串。有效的时区如表所示。被推算             出的日期数值就在该时区当中
        newzone也是代表时区的字符串。被从老时区到新时区转换的日期数值
        下面是该函数的使用情况:
        NEW_TIME( TO_DATE(’25-Dec-1999 8:00’,’dd-mom-yyyy HH:MI’),’EST’,’PST’)=’25-DEC-1999 05:00’
SQL内置函数
NEXT_DAY
        NEXT_DAY函数返回从实参日期开始,紧随其后的指定星期对应的日期。
        其具体的语法格式如下:
        NEXT_DAY( date,weekday)
        其中:
        date     一日期数据
        weekday一字符串,说明某一天的星期几的名称。可以使用全称,也可以使用缩写,但对于用户的编程语言做的日期设置来说必须是有效的日期
        下面是该函数的使用情况:
        NEXT_DAY( TO_DATE(’24-Nov-1999’),’dd-mon-yyyy’,’FRIDAY’)
                                        =’26-Nov-1999’
        NEXT_DAY( TO_DATE(’24-Nov-1999’),’dd-mon-yyyy’,’WED’)
                                        =’01-Dec-1999’
        注意:在第二个例子当中, 24-Nov-1999正好落在星期三: Wednesday。下一个’WED’自然就是1-Dec-1999,所以,函数NEXT-DAY返回的结果就是
        ’01-Dec-1999’
SQL内置函数
NVL
        NVL函数需要两个参数。如果第一个参数为空,则返回第二个参数。第二个参数表示是第一个参数的替换对象。
        其具体的语法格式如下:
        NVL( value,alternative)
        其中:
        value            一个可为空的值。它不为空的时候将作为返回值
        alternative              只要它不是空的就是将被返回的值
        下面是该函数处理数据库的某些列包括空值时的情况:
        SELECT emp_id,NVL(emp_name,’Name Missing!’)
        FROM emp_table;
        在该例中,如果雇员有名字,将通过该函数返回其名字。如果雇员的名字为空,将返回 ‘Name Missing!’
SQL内置函数
POWER
        函数POWER返回一个数值的指定次幂。
        其具体的语法格式如下:
        POWER(number,power)
        其中:
        number 任意数值
        power    幂次数。函数的结果其实即:number幂次。如果第             一个参数为负数,则该幂次数务必是一整数。其它              情况可为任意数值
        下面是该函数的使用情况:
        POWER(10,2)=100(10*10)
        POWER(10,3)=1000
        POWER(-10,3)=-1000
SQL内置函数
RAWTOHEX
        RAWTOHEX函数将一raw转换成十六进制字符表示的串值。
        其具体的语法格式如下:
        RAWTOHEX( raw_value)
        其中:
        raw_value               一RAW型数值
        下面是该函数的使用情况:
        SQL>CREATE TABLE xx(y raw(10));
        Table created.
        SQL>INSERT INTO xx VALUES(HEXTORAW(‘414243’));
        1 row created.
        SQL>SELECT RAWTOHEX(y) FORM xx;
        RAWTOHEX(Y)
        ------
        414243
SQL内置函数
REPLACE
        REPLACE函数在一字符串中搜索一指定的子串,并将其替换成另外一指定串。
        其具体的语法格式如下:
        REPLACE( string,substring[,replace_string])
        其中:
        string          被搜索字符串。在其中搜索待替换串
        substring               被搜索子串。所有找到的子串均被替换掉
        replace_string 替换结果子串。是一可选项。如果该参数被忽略,                     则所有被搜索到的子串实质上均被删除
        下面是该函数的使用情况:
        REPLACE( ’This is a test’,’is’,’was’)=‘Thwas was a test’
        REPLACE( ’This is a test’,’is’)=‘Th a test’
SQL内置函数
ROUND(for dates)
       ROUND函数将一日期处理(舍入)成第二个参数指定的形式。
        其具体的语法格式如下:
        ROUND(date[,fmt])
        其中:
        date             一个日期数值
        fmt              是一个日期格式说明符。指定日期将被处理成该说明符指定的           形式。省略该参数,则指定日期将被处理到最近的一天
        下面是该函数的使用情况:
        ROUND(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))
                        =’25-Nov-1999 12:00:00 am’
        ROUND(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’),’hh’)
                        =’24-Nov-1999 09:00:00 am’
        注意:这种处理过程可能意味着日期数值的改变。在第一个例子中,因为8:00 PM是紧邻第二天的一精确值,所以处理结果被转到下一天(25th)而不是当天(24th).
SQL内置函数
 
ROUND(for number)
       ROUND函数将一数值处理(舍入)成第二个参数指定的形式的十进制数。
        其具体的语法格式如下:
        ROUND(value,places)
        其中:
        value    试图转换的数值
        places 结果中的十进制数位置。必须是一正整数,但可能是一负数。如果是负数,数字就被精确地处理在从小数点其左数的十进制数
        下面是该函数的使用情况:
        ROUND(89,985,2)=89.90(Note that .005 is rounded up.)
        ROUND(89, 985,-1)=90
        ROUND(89, 985,-2)=100
SQL内置函数
ROWIDTOCHAR
        ROWIDTOCHAR函数将一行标志码(ROWID)转换成一字符串。
        其具体的语法格式如下:
        ROWIDTOCHAR(rowid)
        其中:
        rowid    一ROWID型数据
        下面是该函数的使用情况:
        SQL>SELECT ROWIDTOCHAR(ROWID) FROM dual;
        ROWIDTOCHAR(ROWID)
        ----------
        AAAADCAABAAAAVUAAA
SQL内置函数
RPAD
        RPAD函数在字符串的后面追加若干字符。
        其具体的语法格式如下:
        RPAD( string,numchars[,padding])
        其中:
        string 任意VARCHAR2型或CHAR型的数据
        numchars        函数结果串的长度
        padding 追加字符,单个的。是可选项,默认为空格
        下面是该函数的使用情况:
        RPAD(‘Jenny’,10)=‘Jenny     ’(5 trailing spaces)
        RPAD(‘Jenny’,10,’*’)=‘Jenny*****’
        RPAD(‘Jenny’,10,’*!’)=‘Jenny*!*!*’
SQL内置函数
 
RTRIM
        RTRIM函数压缩掉串右面的尾随字符,常常是从指定字符串(第一参数)中压缩空格。
        其具体的语法格式如下:
        RTRIM( string[,trimchars])
        其中:
        string 任意VARCHAR2型或CHAR型的数据
        trimchars       准备压缩掉的字符(串)
        下面是该函数的使用情况:
        RTRIM(‘Jeff     ’)= ‘Jeff’(trailing spaces removed)
        RTRIM(‘Jenny*****’)= ‘Jeff’
        RTRIM(‘Jenny*!*!*’)= ‘Jeff’
SQL内置函数
SIGN
 SIGN函数返回实参的符号。对于负数返回-1,0返回0,正数返回+1。
        其具体的语法格式如下:
        SIGN( value)
        其中:
        value    输入的实参,你试图返回它的符号
        下面是该函数的使用情况:
        SIGN( -100)=-1
        SIGN( 0)=0
        SIGN(100)=1
        可以使用该函数和DECODE函数,根据一个数值的正、负或0,指明表达式间的不同。
SQL内置函数
SIN
       SIN函数返回一个角度的正弦值。
        其具体的语法格式如下:
        SIN( angle)
        其中:
        angle    待求解其正弦的角度。是一角度表达式。可参考函数COS了解从弧度到角度的转换
        下面是该函数的使用情况:
        SIN(90*3.1415926/180)=1
        SIN(0)=0
SQL内置函数
SOUNDEX
        SOUNDEX函数根据以下规则返回一个字符串的发音描述。
        1、保留字符串的首字母
        2、删除下面的所有字母:a、e、h、I、o、u、w和y。
        3、首字母后面的任一字母均按如下规则匹配于某一数字:
                b,f,p,v=1
                c,g,j,k,q,s,x,z=2
                d,t=3
                I=4
                m,n=5
                r=6
        4、结果被缩写并转换成一个4位的数字
        其具体的语法格式如下:
        SOUNDEX( string)
        其中:
        string 任意字符串
        下面是该函数的使用情况:
        SOUNDEX(‘Gennick’)=520 SOUNDEX(‘Genick’)=520 SOUNDEX(‘Genyk’)=520
 
SQL内置函数
SORT
        SORT函数返回一数字的算术平方根。
        其具体的语法格式如下:
        SORT( number)
        其中:
        number 试图求解其平方根的数值,非负数
        下面是该函数的使用情况:
        SORT( 100)=10(because 10*10-100)
        SORT(100)=3.1622777
SQL内置函数
SUBSTR
        SUBSTR返回一字符串得指定字串。
        其具体的语法格式如下:
        SUBSTR( string,start,length)
        其中:
        string 任意字符串
        start    字串的开始位置。第一个位置总匹配为1。该参数可以为                        负数,这时从给定字符串的右面数起
        length 待匹配字串的长度。是一可选项,忽略它则匹配整个字符串
        下面是该函数的使用情况:
        SUBSTR(’JennyJeffJonathan’,6,4)=‘Jeff’
        SUBSTR( ’JennyJeffJonathan’,-12,4)=‘Jeff’
        SUBSTR( ’JennyJeffJonathan’,-8)=‘Jonathan’
SQL内置函数
 
SUBSTRB
        SUBSTRB返回一字符串的指定部分。该函数与SUBSTR极为类似,只是该函数的start和length两参数均以字节为单位,而不是根据字符。这种区别只有在使用多种不同的字符集时才有意义。
        其具体的语法格式如下:
        SUBSTRB( string,start[,length])
        其中:
        string 任意字符串
        start    字串的开始位置。第一个位置总匹配为1。该参数可            以为负数,这时从给定字符串的右面数起
        length 待匹配字串的长度。是一可选项,忽略它则匹配整             个字符串
        下面是该函数的使用情况:
        SUBSTRB(’JennyJeffJonathan’,6,4)=‘Jeff’
        SUBSTRB( ’JennyJeffJonathan’,-12,4)=‘Jeff’
        SUBSTRB( ’JennyJeffJonathan’,-8)=‘Jonathan’
SQL内置函数
SYSDATE
        SYSDATE函数返回当前日期时间,一直到秒。
        其具体的语法格式如下:
        SYSDATE
        SYSDATE没有参数。
        下面是该函数的使用情况:
        SQL>SELECT SYSDATE FROM DUAL;
        SYSDATE
        -------
        24-Nov-1999 06:45:00 pm
        当然,结果会由于用户调用该函数的时机不同而不同。
SQL内置函数
 
TAN
       TAN函数返回一个角度的正切值。
        其具体的语法格式如下:
        TAN( angle)
        其中:
        angle    用弧度表示。可参考函数COS了解从弧度到           角度的转换
        下面是该函数的使用情况:
        TAN(225*3.1415926535/180)=1
        TAN(0)=0
SQL内置函数
 
TANH
       TANH函数返回一个角度的十六进制正切值。
        其具体的语法格式如下:
        TANH( angle)
        其中:
        angle    用弧度表示。可参考函数COS了解从弧度到           角度的转换
        下面是该函数的使用情况:
        TANH(225*3.1415926535/180)=.99922389
        TANH(0)=0
SQL内置函数
TO_CHAR(for dates)
        TO_CHAR函数将一个日期型数据转换成一个字符型数据。
        其具体的语法格式如下:
        TO_CHAR(date[,fmt[,’NLS_DATE_LANGUAGE=language’]])
        其中:
        date    任一DATE型数据
        fmt             一个日期格式说明符,它控制了代表日期型数据的字符型结果
        language   使用的语言,它对日期拼读有影响,如在使用月份、日子、星期              等时
        下面是该函数的使用情况:
        SQL> SELECT TO_CHAR(SYSDATE,’dd-Mon-yyyy’)
              FROM dual;
        TO_CHAR(SYS
        -----
        24-Nov-1999
        SQL>SELECT TO_CHAR(SYSDATE,’Month’,’NLS_DATE_LANGUAGE=Spanish’)
              FROM dual;
        TO_CHAR(SY
        -----
        November
       
SQL内置函数
TO_CHAR(for numbers)
        TO_CHAR函数将一个数值型数据转换成一个字符型数据。
        其具体的语法格式如下:
        TO_CHAR(date[,fmt[,nlsparams]])
        其中:
        date             任一数值型数据
        fmt              一个数字格式说明符,它控制了代表日期型数据的字符型结果
        nlsparams        数字的语言特征。该参数是由若干下列内容组成的字符串       :                      NLS_NUMERIC_CHARACTERS=“dg”,NLS_CURRENCY=“currchar”,及               NLS_TERRITORY=territory
                        d和g表示十进制符号和分隔符(在美国为逗号)。货币数值(在                 美国的一个($)符号)常用来表示金钱数值。这两种数值均必            须放在引号中
        下面是该函数的使用情况:
        TO_CHAR(123.45)=‘123.45’
        TO_CHAR(123456.78,’$999,999.99’)=‘$123,456.78’
        TO_CHAR(123456.78,’L999G999D999’,
                ’NLS_NUMERIC_CHARACTERS=“,.”NLS_CURRENCY=“!”’)
        =‘!123.456,78’
        注意:NLS参数没有什么效果,必须使用L、G和D通行符号、分隔符、小数点等等。
SQL内置函数
 
TO_DATE
        TO_DATE函数将一个字符型数据转换成一个日期型数据。
        其具体的语法格式如下:
        TO_DATE(string [,fmt[,’NLS_DATE_LANGUAGE=language’]])
        其中:
        string 待转换的字符串
        fmt              一个日期格式说明符,它控制了代表了转换字符时的处理方式,也是一可选项,忽略它,则使用数据库的默认方式
        language    使用的语言,也是可选项,对日期拼读有影响。
        下面是该函数的使用情况:
        第一个TO_DATE函数将给定字符串解释成8-Nov-1915;
        下列显示了TO_DATE 函数的用法:
        TO_DATE(’11/08/1915’,’MM/DD/YY’)
        下一次调用则将给定字符串解释成11-Nov-1915;
        TO_DATE( ’11/08/1915’,’DD/MM/YY’)
        最后一个例子将给定字符串解释成11-Nov-1915;
        TO_DATE( ’ 11-Nov-1915’,’MM/DD/YYYY’)
SQL内置函数
TO_LOB
        TO_LOB函数将一个LONG或LONG RAW型数据转换成下列类型: CLOB、BLOB或NCLOB。当仅仅需要在INSERT语句中用LONG型数据代替LOB型数据时,可以使用该函数。
        其具体的语法格式如下:
        TO_LOB( long_value)
        其中:
        long_value              待转换为CLOB或NCLOB等类型数据的一个                            LONG或LONG RAW型数据。LONG RAW型数据转                     换成BLOB型数据
        下面是该函数的使用情况:
        INSERT INTO new_table(clob_value)
                SELECT TO_LOB(long_value)
                FROM old_table
SQL内置函数
TO_NUMBER
        TO_NUMBER函数将一字符串转换成一数字。
        其具体的语法格式如下:
        TO_NUMBER( string[,fmt[,’nlsparams’]])
        其中:
        string 待转换的字符串
        fmt              一数字格式说明符号。它将控制转换过程中的处理方式
        nlsparams        语言特征值。该字符串参数的组成部分有以下内容:                   NLS_NUMERIC_CHARACTERS=“dg”,NLS_CURRENCY=“currchar”,                 及NLS_TERRITORY=territory
                        d和g表示十进制符号和分隔符(在美国为逗号)。货币数值             (在美国的一个($)符号)常用来表示金钱数值。这两种                 数值均必须放在引号中
        下面是该函数的使用情况:
        第一个TO_NUMBER函数将给定字符串解释成123.45;
        TO_NUMBER(‘123.45’)  
        下一次调用则将给定字符串解释成123,456.78
        TO_NUMBER(‘$123,456.78’,’$999,999.99’)
SQL内置函数
TRIM
        TRIM函数将字符串的前缀(或尾随)字符删除。
        其具体的语法格式如下:
        TRIM( [LEADING|TRAILING|BOTH][trimchar FROM] string)
        其中:
        LEADING指明仅仅将字符串的前缀字符删除
        TRAILING         指明仅仅将字符串的尾随字符删除
        BOTH             指明既删除前缀字符,也删除尾随字符。这也是默认方式
        string 任意一待处理字符串
        trimchar         可选项。指明试图删除什么字符,默认被删除的字符是空格
        下面是该函数的使用情况:
        TRIM( ’   Ashley   ’)=‘Ashley’
        TRIM( LEADING ’*’ FROM’***Ashley***’)=‘Ashley***’
SQL内置函数
TRUNC(for dates)
        TRUNC函数为指定元素而截去的日期值。
        其具体的语法格式如下:
        TRUNC( date[,fmt])
        其中:
        date    一个日期值
        fmt              日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
        下面是该函数的使用情况:
        TRUNC( TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))
                =’24-Nov-1999 12:00:00 am’
        TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’))       =’24-Nov-1999 08:00:00 am’
SQL内置函数
TRUNC(for number)
        TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
        其具体的语法格式如下
        TRUNC(number[,decimals])
        其中:
        number 待做截取处理的数值
        decimals         指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
        下面是该函数的使用情况:
        TRUNC(89.985,2)=89.98
        TRUNC( 89.985)=89
        TRUNC( 89.985,-1)=80
        注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。
SQL内置函数
UID
        UID函数返回一个整数值。对于当前数据库用户来它是唯一的。
        其具体的语法格式如下:
        UID
        该函数没有参数
        下面是该函数的使用情况:
        SQL>SELECT UID FROM dual;
                 UID
        ------
                 5
        该数值来源于V$SESSION中的USER#列。
SQL内置函数
UPPER
        UPPER函数间返回字符串的大写形式。
        其具体的语法格式如下:
        UPPER( string)
        其中:
        string 任意VARCHAR2或CHAR型字符串
        下面是该函数的使用情况:
        UPPER( ’THIS IS a Test’)=‘THIS IS A TEST’
SQL内置函数
USER
        USER返回当前用户名,没有参数。
        其具体的语法格式如下:
        USER
        下面是该函数的使用情况:
        SQL>SELECT USER FROM dual;
        USER
        --------
        SYSTEM
        当任一内嵌的函数或程序调用该函数时,该函数总返回该调用者的名字。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值