24个常用的Oracle函数


一、都是哪24个函数?

1、 ABS(n)
2、 CEIL(n)
3、 ASCII(char)
4、 CHR(n)
5、 CONCAT
6、 INITCAP(char)
7、 INSTR(char1,char2[,n[,m]])
8、 LENGTH(char)
9、 LOWER(char)
10、 LPAD(char1,n,char2)
11、 LTRIM(char1[,set])
12、 REPLACE(char,search_string[,replacement_setting])
13、 RPAD(char1,n,char2)
14、 SUBSTR(char,m[,n])
15、 TRIM(char FROM string)
16、 ADD_MONTHS(d,n)
17、 SYSDATE
18、 TO_CHAR(date[,fmt[,nls_param]])
19、 TO_DATE(char[,fmt[,nls_param]])
20、 DUMP(expr,return_fmt)
21、 NVL(expr1,expr2)
22、 AVG([ALL|DISTINCT]expr)
23、 COUNT([ALL|DISTINCT]expr)
24、 SUM([ALL|DISTINCT]expr)

二、详解

1、 ABS(n)——绝对值;
2、 CEIL(n)——比某个数大的最小整数,天花板概念;
3、 ASCII(char)——ASCII(x) gets the ASCII value of the character x,CHR() and ASCII() have the opposite effect.
值得注意的是:Ascii gives the ASCII value of the first character of a string。也即是说他只对一个字符串中的第一个字符起作用,你弄多长的字符串放进去它也只认第一个字符。
4、 CHR(n)——
5、 CONCAT——连接两个字符串
6、 INITCAP(char)——函数INITCAP()是将每个单词的第一个字母大写,其它字母变为小写返回(驼峰命名法)
7、 INSTR(char1,char2[,n[,m]])——instr函数返回要截取的字符串在源字符串中的位置
     语法如下:
      instr( string1, string2 [, start_position [, nth_appearance ] ] )
          参数分析:
              string1----源字符串,要在此字符串中查找。
              string2----要在string1中查找的字符串.
              start_position----代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
              nth_appearance----代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。

          注意:
              如果String2在String1中没有找到,instr函数返回0.
8、 LENGTH(char)
返回字符串的长度
9、 LOWER(char)
返回字符串的小写形式
10、 LPAD(char1,n,char2)
理解为 left pad,即在 char1 的左边填充 char2,返回长度为 n 的字符串。。。char1 是一定会保留的.
11、 LTRIM(char1[,set])
默认参数下:去掉左边的空格,RTRIM是去掉右边的空格,而TRIM是去掉左右两边的空格
在有第二个参数的情况下:LTRIM是去掉左边所有能匹配上 set 参数中任意字符的字符串,直到第一个不能被匹配的为止。
RTRIM的方向相反而已。
12、 REPLACE(char,search_string[,replacement_setting])
替换
将 char 中的 search_string 替换成 replacement_setting,如果replacement_setting为空,那么将被替换为空字符串
13、 RPAD(char1,n,char2)
见LPAD
14、 SUBSTR(char,m[,n])
截取从第m到第n之间(包括m,,n)的子串,如果没有n,那么将从第m到末尾。
下标从1开始
15、 TRIM(char FROM string)
从字符串string的两边开始,截掉 char,直到出现不为 char 的首个字符为止。和 ltrim 和 rtrim 效果类似
16、 ADD_MONTHS(d,n)
给日期类型 d 加上或减去 n 个月(n 为正数和负数,分别表示往后 n 个月和往前 n 个月)
17、 SYSDATE
返回系统时间,本地。
http://www.cnblogs.com/jinzhengquan/archive/2011/08/04/2127353.html
18、 TO_CHAR(date[,fmt[,nls_param]])
http://www.cnblogs.com/reborter/archive/2008/11/28/1343195.html
19、 TO_DATE(char[,fmt[,nls_param]])
功能:将字符串转化为日期类型
参数:1)char----待转换的字符串
         2)fmt----转换的格式 
当省略HH、MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值。如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0, 也就是 说会取整到日。同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。但是,不要被这种“惯性”所迷惑,如果忽略MM参数, Oracle 并不会取整到年,取整到当前月。
         3)nls_param----
20、 DUMP(expr,return_fmt)
功能:分析表达式(数字或字符串等),并返回指定格式的值;
参数:1)expr----需要进行分析的表达式
         2)return_fmt----返回的格式,有以下五种用法:
            (1)'8',以八进制返回结果的值;
            (2)'10',以十进制……;
            (3)'16',以十六进制……;
            (4)'17',以单字符的形式返回结果的值;
            (5)'1008'或'1010'或'1016'或'1017',在返回值中加上当前字符集;
例子: 
    (1)typ,表示当前表达式值的类型,2表示number,96表示char等等;
 
    (2)Len,表示返回值所占的字节数;
utf8需要三个字节来储存一个汉字,而GBK需要两个字节。
21、 NVL(expr1,expr2)
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值;引申一下,此NVL的作用与SQLserver 中的 ISNULL( string1, replace_with) 一样;
注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数。
22、 AVG([ALL|DISTINCT]expr)
功能:返回平均值
23、 COUNT([ALL|DISTINCT]expr)
功能:返回包含参数的查询返回的行数
24、 SUM([ALL|DISTINCT]expr)
功能:返回结果的和


你可能感兴趣的:(oracle,函数)