《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]).  

  TO_MULTI_BYTE(x):将单字节字符转换为多字节字符。TO_SINGLE_BYTE(x)
  TO_NCHAR(x):将数据库字符集中的x转换为NVARCHAR2字符串。 

  TO_NCLOB(x):NCLOB保存大量国家语言字符数据
  TO_NUMBER(x [,format])。  TO_TIMESTAMP(x)。  

  TO_TIMESTAMP_TZ(x) 将x转换为TIMESTAMP WITH TIME ZONE类型
  TRANSLATE(x,from_string,to_string)将x中所有的from_string转换为to_string。 

  UNISTR(x):将x中的字符转换为NCHAR
  
format字符串是TO_CHAR()函数的一个可选参数,其格式如下:
  0999:返回数字前补0;  9990:返回数字后补0;  

 . 和,:指定位置返回小数点或逗号。  ¥999:在数字开头返回美元符号
  B9.99:如果定点数整数部分是0就在整数部分返回空格。 

  C999:指定位置返回ISO货币符号。   9.99EEEE:返回科学计数法表示
  FM999:删除开头和结尾的空格。   99G99:指定位置返回组分隔符  

  L999:指定位置返回本地货币符号
  999MI:负数返回负数后加一个减号,正数后加一个空格。  

  999PR:负数用<>括住,正数前后都加一个空格。
  RN/rn:返回数字的大或小写的罗马数字形式,此数必须介于1和3999之间。
  S999:在数字前加上正负号。  999S:在数字后加上正负号。

   TM:返回有最少个字符组成的数字。 U999:在指定的位置返回货币符号。
   99V99:返回该数字乘以10的x次方的结果,x是V后的数字
  XXXX:返回数字的十六进制形式,若数字不是整数则取整。


TO_NUMBER()函数中的format可以使用以上格式。
CAST(x AS type):函数例子:

SELECT CAST(1234.45 AS VARCHAR2(10)),

              CAST('9A7F'  AS RAW(2)),CAST('05-JUL-O8' AS DATE)

FROM DUAL;
  可以将列值从一种类型转换为另一种:

SELECT CAST(PRICE AS VARCHAR2(10)),

               CAST(PRICE+2 AS NUMBER(7,2))

FROM PRODUCTS WHERE ID=1;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值