日期:2014-05-16  浏览次数:20473 次

《Oracle Database 11g SQL 开发指南》学习笔记——第四章_使用简单函数(一)

4.1使用单行函数:字符函数,数字函数,转换函数,日期函数,正则表达式函数。
  函数之间还可以组合嵌套使用。任何有效地函数组合都可以正常使用。从里层向外层计算。
  
4.1.1、字符函数。
    ASCII(x)返回X的ASCII码;  INITCAP(x):将x中每个单词的首字母转换成大写并返回。

    CHR(x) ; CONCAT(x,y) ;LOWER(X); UPPER(x);
      INSTR(x,find_string [,start] [,occurrence])在x中查找字符串find_string,可以指定开始位置和应该返回第几次出现的位置。LENGTH(X)
      LPAD(x,width [,pad_string])在x左边补齐空格使得总长为width,可用pad_string补齐。

      RPAD(x,width [,pad_string])右补齐
      LTRIM(x [, trim_string]从x左边截去trim_string字符。RTRIM(x [, trim_string] 右截去。

      TRIM([trim_char FROM] x) :在x左右同时截去trim_char
      NANVL(x,value)如果x匹配NAN这个特殊值就返回value,否则返回x.
      NVL(x)如果x为空则返回value 否则返回x。   

      NVL2(x,value1,value2)如果x非空返回value1,否则返回value2。
      REPLACE(x,search_string,replace_string)此函数只会对返回的结果集进行修改不会真正修改数据库  

      SUBSTR(x,start[,length]).
      SOUNDEX(x):返回一个包含x的发音的字符串。使用也对英文发音不同但比较接近的单词进行比较。
 
4.1.2数字函数。
              ABS(x)返回绝对值;ACOS(x)反余弦; ASIN(x)反正弦;  ATAN(x)反正切; COS(x); SIN(x); TAN(x);  
              COSH(x); SINH(x); TANH(x)双曲正切;  ATAN2(x,y)返回x和y的反正切   

              BITAND(x,y)对x和y进行位与操作。CEIL(x)返回大于或等于x的最小整数。 

              FLOOR(x)返回小于等于x的最大整数。  EXP(x)返回e的x次幂。LOG(x,y):x为底y的对数
             
LN(x).  MOD(x,y):x除以y的余数。 POWER(x,y)返回x的y次幂。  SQRT(x):返回平方根。
              ROUND(x [,y])返回对x的取整的结果,y表示对第几位小数取整,若y为负数则对x在小数点左边的第|y|位处取整。
               SIGN(x):如果x是负数返回-1,正数返回1,为0返回0
 TRUNC(x[,y])返回对x的截断结果,y指定对第几位小数截断,若y为负数则对x在小数点左边的第|y|位处截断。
 
4.1.3、转换函数。
  ASCIISTR(x):将x字符串转换成ASCII字符串。  BIN_TO_NUM(x).  CAST(x AS type)将x转换为type所指定的兼容数据库类型。
  CHARTOROWID(x):将x转换为ROWID类型。  COMPOSE(x):将x转换为Unicode编码字符串,字符串使用和x完全相同的类型
  CONVERT(x,source_char_set,dest_char_set):  DECODE(x,search,result,default):将x与search比较若相等返回result,否则返回default。
  DECOMPOSE(x):现将x进行分解,再将其转换为Unicode字符串。  HEXTORAW(x):将包含十六进制字符的x转换为二进制数字。
  RAWTOHEX(x):将二进制数字转换为一个varchar2类型的字符串,值为等价的十六进制数字。
  RAWTONHEX(x):NVARCHAR2类型用于以国家字符集格式存储字符串。
  NUMTODSINTERVAL(x):将数字x转换为 INTERVAL DAY TO SECOND 类型。   TO_DSINTERVAL(x);
  NUMTOYMINTERVAL(x):将x转换为一个INTERVAL YEAR TO MONTH 类型。   TO_YMINTERVAL(x)
  ROWIDTOCHAR(x):将x转换为varchar2类型;ROWIDTONCHAR(x):将x转换为nvarchar2类型。
  TO_BINARY_DOUBLE(x);  TO_BINARY_FLOAT(x);   TO_BLOB(x):将x转换为二进制大对象类型。  TO_CLOB(x).
  TO_CHAR(x [,format])。  TO_DATE(x [,format]).&nbs