Oracle常用函数
1、ASCII 返回与指定的字符对应的十进制数; ......................................................................................... 4 2、CHR 给出整数,返回对应的字符; ............................................................................................................ 4 3、CONCAT 连接两个字符串; ........................................................................................................................ 4 4、INITCAP 返回字符串并将字符串的第一个字母变为大写; ........................................................ 4 5、INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; ...... 4 6、LENGTH 返回字符串的长度; ................................................................................................................... 5 8、UPPER 返回字符串,并将所有的字符大写 .......................................................................................... 5 9、RPAD和LPAD(粘贴字符) ............................................................................................................................ 5 10、 LTRIM和RTRIM 删除左/右边出现的字符串 ............................................................................. 5 11、 SUBSTR(string,start,count) 取子字符串,从start开始,取count个 ...................... 5 12、REPLACE(string,s1,s2) string 希望被替换的字符或变量 .............................................. 5 13、SOUNDEX 返回一个与给定的字符串读音相同的字符串 ........................................................ 6 14、TRIM(s from string) 剪掉前/后面的字符/去掉空格 .............................................................. 6 15、ABS 返回指定值的绝对值 ....................................................................................................................... 6 16、ACOS 给出反余弦的值 ............................................................................................................................. 6 17、ASIN 给出反正弦的值 ............................................................................................................................... 6 18、ATAN 返回一个数字的反正切值 ........................................................................................................... 7 19、CEIL 返回大于或等于给出数字的最小整数 .................................................................................... 7 20、COS 返回一个给定数字的余弦 ............................................................................................................. 7 21、COSH 返回一个数字反余弦值 .............................................................................................................. 7 22、EXP 返回一个数字e的n次方根 ........................................................................................................ 7 23、FLOOR 对给定的数字取整数 ................................................................................................................. 7 24、LN 返回一个数字的对数值 ...................................................................................................................... 7 25、LOG(n1,n2) 返回一个以n1为底n2的对数 .............................................................................. 7 26、MOD(n1,n2) 返回一个n1除以n2的余数 .................................................................................. 8 27、POWER 返回n1的n2次方根 ............................................................................................................. 8 28、ROUND和TRUNC 按照指定的精度进行舍入 ............................................................................. 8 29、SIGN 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 ............................... 8 30、SIN 返回一个数字的正弦值 ................................................................................................................... 8 31、SIGH 返回双曲正弦的值 ......................................................................................................................... 8 32、SQRT 返回数字n的根 ............................................................................................................................. 9 33、TAN 返回数字的正切值 ............................................................................................................................ 9 34、TANH 返回数字n的双曲正切值.......................................................................................................... 9 35、TRUNC 按照指定的精度截取一个数或截断日期 ......................................................................... 9 36、ADD_MONTHS 增加或减去月份 ....................................................................................................... 9 37、LAST_DAY 返回日期的最后一天 ..................................................................................................... 10 38、MONTHS_BETWEEN(date2,date1) 给出date2-date1的月份 ............................... 10 39、NEW_TIME(date,this,that) 给出在this时区=other时区的日期和时间 ........... 10 40、NEXT_DAY(date,day) 给出日期date和星期x之后计算下一个星期的日期 ..... 10 41、SYSDATE 用来得到系统的当前日期 .............................................................................................. 10 42、CHARTOROWID 将字符数据类型转换为ROWID类型 ........................................................ 11 43、CONVERT(c,dset,sset) 将源字符串 sset从一个语言字符集转换到另一个目的
dset字符集 ................................................................................................................................................................ 11 44、HEXTORAW 将一个十六进制构成的字符串转换为二进制 ................................................. 11 45、RAWTOHEXT 将一个二进制构成的字符串转换为十六进制 .............................................. 11 46、ROWIDTOCHAR 将ROWID数据类型转换为字符类型 ..................................................... 11 47、TO_CHAR(date,format) 将日期转化为字符串 ..................................................................... 12 48、TO_DATE(string,format) 将字符串转化为ORACLE中的一个日期 ....................... 12 49、TO_MULTI_BYTE 将字符串中的单字节字符转化为多字节字符 ..................................... 12 50、TO_NUMBER 将给出的字符转换为数字 ...................................................................................... 12 51、BFILENAME(dir,file) 指定一个外部二进制文件 ..................................................................... 12 52、CONVERT(x,desc,source) 将x字段或变量的源source转换为desc ................... 12 53、DUMP(s,fmt,start,length) 以fmt指定的内部数字格式返回一个VARCHAR2类型的值 ........................................................................................................................................................................... 13 54、EMPTY_BLOB()和EMPTY_CLOB() 这两个函数都是用来对大数据类型字段进行初始化操作的函数 ........................................................................................................................................................ 13 55、GREATEST 返回一组表达式中的最大值,即比较字符的编码大小. .................................. 13 56、LEAST 返回一组表达式中的最小值 ................................................................................................ 13 57、UID 返回标识当前用户的唯一整数 ................................................................................................. 13 58、USER 返回当前用户的名字 ................................................................................................................. 14 59、USEREVN 返回当前用户环境的信息................................................................................................ 14 60、AVG(DISTINCT|ALL) all表示对所有的值求平均值,distinct只对不同的值求平均值15 61、MAX(DISTINCT|ALL) 求最大值 ....................................................................................................... 15 62、MIN(DISTINCT|ALL) 求最小值 ........................................................................................................ 15 63、STDDEV(distinct|all) 求标准差 .................................................................................................... 16 64、VARIANCE(DISTINCT|ALL) 求协方差 ...................................................................................... 16 65、GROUP BY 主要用来对一组数进行统计 ...................................................................................... 16 66、HAVING ........................................................................................................................................................... 16 67、ORDER BY 用于对查询到的结果进行排序输出 .......................................................................... 16 68、 pl/sql中的case语句 ............................................................................................................................. 17 69、NVL(expr1, expr2) ................................................................................................................................. 17 70、AVG 功能描述:用于计算一个组和数据窗口内表达式的平均值。 ................................. 18 71、 CORR 功能描述:返回一对表达式的相关系数,它是如下的缩写: .............................. 18 72、COVAR_POP 功能描述:返回一对表达式的总体协方差。 ................................................ 19 73、COVAR_SAMP 功能描述:返回一对表达式的样本协方差 ................................................. 20 74、COUNT 功能描述:对一组内发生的事情进行累积计数 .......................................................... 20 75、CUME_DIST 功能描述:计算一行在组中的相对位置 ............................................................ 21 76、DENSE_RANK 计算它们与其它行的相对位置 ......................................................................... 21 77、FIRST 返回的集合中取出排在最前面的一个值的行 ................................................................. 21 78、FIRST_VALUE 功能描述:返回组中数据窗口的第一个值。 ............................................ 22 79、LAG 功能描述:可以访问结果集中的其它行而不用进行自连接 ....................................... 22 80、LAST 返回的集合中取出排在最后面的一个值的行 .................................................................... 23 81、LAST_VALUE 功能描述:返回组中数据窗口的最后一个值 .............................................. 24 82、LEAD 功能描述:LEAD与LAG相反,LEAD可以访问组中当前行之后的行 .......... 24 83、MAX 功能描述:在一个组中的数据窗口中查找表达式的最大值。 ................................. 24 84、MIN 功能描述:在一个组中的数据窗口中查找表达式的最小值 ....................................... 25
85、NTILE 功能描述:将一个组分为\表达式\的散列表示 ........................................................... 25 86、PERCENT_RANK 功能描述:和CUME_DIST(累积分配)函数类似 ...................... 26 87、PERCENTILE_CONT 功能描述:返回一个与输入的分布百分比值相对应的数据值26 88、PERCENTILE_DISC 功能描述:返回一个与输入的分布百分比值相对应的数据值27 89、RANK 计算它们与其它行的相对位置 ............................................................................................. 27 90、RATIO_TO_REPORT 给出相对于总数的百分比 ....................................................................... 28 91、REGR_ (Linear Regression) Functions 功能描述:这些线性回归函数适合最小二乘法回归线.................................................................................................................................................................. 28 92、ROW_NUMBER 功能描述:返回有序组中一行的偏移量,从而可用于按特定标准排序的行号 ...................................................................................................................................................................... 32 93、STDDEV 功能描述:计算当前行关于组的标准偏离。(Standard Deviation) ..... 32 94、STDDEV_POP 计算总体标准偏离,并返回总体变量的平方根 ........................................ 33 95、STDDEV_SAMP 计算累积样本标准偏离,并返回总体变量的平方根 .......................... 33 96、SUM 功能描述:该函数计算组中表达式的累积和。 .............................................................. 34 97、VAR_POP 功能描述:(Variance Population)该函数返回非空集合的总体变量(忽略null) ...................................................................................................................................................................... 34 98、VAR_SAMP 函数返回非空集合的样本变量(忽略null) ................................................... 35 99、VARIANCE 功能描述:该函数返回表达式的变量,Oracle计算该变量如下: ......... 35 100、RANK根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置 ............................................................................................................................................................. 36 101、RATIO_TO_REPORT 计算expression/(sum(expression))的值,它给出相对于总数的百分比 ............................................................................................................................................................. 36 102、REGR_ (Linear Regression) Functions 线性回归函数适合最小二乘法回归线37 103、ROW_NUMBER 返回有序组中一行的偏移量,从而可用于按特定标准排序的行号40 104、 STDDEV 功能描述:计算当前行关于组的标准偏离。(Standard Deviation)41 105、 STDDEV_POP 函数计算总体标准偏离,并返回总体变量的平方根 ........................... 41 106、STDDEV_SAMP 计算累积样本标准偏离,并返回总体变量的平方根 ......................... 42 107、 SUM 功能描述:该函数计算组中表达式的累积和 ............................................................... 42 108、 VAR_POP 该函数返回非空集合的总体变量 ............................................................................ 43 109、 VAR_SAMP 函数返回非空集合的样本变量 ............................................................................. 43 110、VARIANCE 功能描述:该函数返回表达式的变量,Oracle计算该变量如下: ... 44
1、ASCII 返回与指定的字符对应的十进制数;
SQL> select ascii('A') A,ascii('a') a,ascii(0) zero,ascii(' ') space
from dual;
select ascii('莫') 莫,ascii('峰') 峰,ascii('泉') 泉,ascii('A') A,ascii('a') a,ascii(0) zero,ascii(' ') space from dual;
2、CHR 给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
select chr(50346) mo,chr(47077) feng,chr(51370) quan,chr(97) chr97 from dual;
3、CONCAT 连接两个字符串;
SQL> select concat('0771-',88888888) || '转18076398145' 莫峰泉电话 from
dual;
4、INITCAP 返回字符串并将字符串的第一个字母变为大写;
SQL> select initcap('mofengquan') AS 首字母大写 from dual;
5、INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 出现的位置,默认为1
SQL> select instr('oracle traning','ra',1,2) instring from dual;
select instr('oracle traning','ra',1,1) instring from dual;
6、LENGTH 返回字符串的长度;
SQL> select t.name,length(name),t.sal,length(to_char(sal)) from A t;
7、LOWER 返回字符串,并将所有的字符小写
SQL> select lower('AaBbCcDd') AaBbCcDd from dual;
8、UPPER 返回字符串,并将所有的字符大写
SQL> select upper('AaBbCcDd') upper from dual;
9、RPAD和LPAD(粘贴字符)
RPAD 在列的右边粘贴字符 LPAD 在列的左边粘贴字符
SQL> select lpad(rpad('峰',10,'*'),17,'*') AS 粘贴字符 from dual;
不够字符则用*来填满 一个汉字两个字符
10、 LTRIM和RTRIM 删除左/右边出现的字符串
LTRIM 删除左边出现的字符串 RTRIM 删除右边出现的字符串 SQL> select ltrim(rtrim(',mo feng quan ,',','), ',' ) from dual;
11、 SUBSTR(string,start,count) 取子字符串,从start开始,取count个
SQL> select substr(13088888888,3,8) AS “取字符串” from dual;
12、REPLACE(string,s1,s2) string 希望被替换的字符或变量
s1 被替换的字符串 s2 要替换的字符串
SQL> select replace('he love you','he','i') from dual;