sql内置函数(四)
  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-199908: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(903.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 1010-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-199906:45:00 pm
  当然,结果会由于用户调用该函数的时机不同而不同。