Oracle 常用函数

1.得到字符串中的第一个字符的  ASCII  值
  1. ASCII(STR)   
  2. select ASCII('ABCD') FROM DUAL;   
  3. 结果: 65  


2.得到数值  N  指定的字符
  1. CHR(n)   
  2. select CHR(68) from dual;   
  3. 结果:D  


3.连接两个字符串 
  1. CANCAT(char1,cahr2)  和 ||   
  2. select concat('abc','defg') from dual;   
  3. select 'abc'||'defg' from dual;   
  4. 结果: 'abcdefg'  


4.将列中的数字代替为字符串
  1. DECODE(char,n1,Char1,n2,char3...)   
  2. select decode(day,1,'SUN',2,'MON') from dual   
  3. 结果:if day==1 return SUN ..==2 return MON  


5.首字母大写 
  1. INITCAP(char)   
  2. select initcap('abcdef') from dyal   
  3. 结果:Abcdef  


6.字符长度  
  1. LENGTH(char)   
  2. select length('ABCDEF') from dual   
  3. 结果: 5  


7.转小写  
  1. Lower(char)   
  2. select lower('ABCDEFG') from dual   
  3. 结果: abcdef  


8.左填充字符串 达到长度N  
  1. LPAD(chard,n,char2)   
  2. select LPAD('ABCDEF',10,'123456') from dual   
  3. 结果:1234ABCDEF  


9.从左边去掉匹配的字符串  
  1. LTRIM(char,set)   
  2. select LTRIM('cdcdcEFG','cd') from dual   
  3. 结果:EFG  


10.首字符大写其余小心  
  1. NLS_INITCAP(char)   
  2. NLS_LOWER(char)   
  3. NLS_UPPER(char)   
  4. select NLS_LOWER('AAA') from dual;   
  5. 结果: aaa  


11.替换部分字符  
  1. REPLACE(ch1,ch2,ch3) :使用ch3替换ch2,替换后结果放在ch1中   
  2. select replace(EMP_NO,'123','345') from dual   
  3. 结果:xxx1234--- xxx3454  


12.右填充字符串 达到长度N   
  1. RPAD(ch1,ch2)   
  2. select rpad('abcd','DEF') form dual   
  3. 结果:abcdDEF  


13.从右边去掉匹配字符  
  1. RTRIM(ch1,set)   
  2. select rtrim('ABCDEF','EF') from dual;   
  3. 结果:ABCD  


14.substr 截取字符串从 M 开始的 N个字符  
  1. SUBSTR(ch1,m,n) //oralce的字符下标从 1 开始   
  2. select substr('abcdef',2,3) from dual   
  3. 结果:bcd    
  4. select substr('山大佛年',2,3) from dual   
  5. 结果:大佛年  


15.substrb(char,M,n) 
  1. SUBSTR(ch1,m,n) //oralce的字符下标从 1 开始   
  2. select substrb('abcdef',2,3) from dual   
  3. 结果:bcd    
  4. select substrb('山大佛年',2,3) from dual   
  5. 结果:空  


16.translate(ch1,ch2,ch3)  
  1. 将ch1中的ch2用ch3 代替   
  2. select translate('ABCDEFGH','DE','MN') from dual   
  3. 结果:ABCMNFGH  


17.UPPER(ch)  
  1. 将字符串全部大写   
  2. select upper('abcdef') from dual   
  3. 结果:ABCDEF  


18.ADD_MONTHS(d,n)
  1. 将N个月添加到D日期   
  2. select ADD_MONTHS(sysdate,5) from dual;   
  3. 结果:距今后的5个月  


19.LAST_DAY(d)  
  1. 得到D日期的月份后的最后一天的日期   
  2. select LAST_DAY(sysdate) from dual   
  3. 结果:当月后的最后一天  


20.MONTH_BERWEEN(d1,d2)  
  1. 得到两个日期之间的月数   
  2. select MONTHS_BETWEEN(sysdate,sysdate+5) from dual   
  3. 结果:0  


21.NEXT_DAY(d,ch)  
  1. 得到比日期D晚的由ch命名的第一个周日的日期   
  2. select NEXT_DAY (sysdate,'星期一') FROM DUAL;    
  3. select NEXT_DAY (sysdate,1) FROM DUAL;    
  4. 结果:  


22.SYSDATE  
  1. select sysdate from dual;   
  2. 结果:系统时间  


23.TO_CHAR(D,FMT)  
  1. 将日期D转换为FMT字符串   
  2. select to_char(sysdate,'yyyy/mm/dd') from dual   
  3. 结果:  


24.to_date(char,fmt) 
  1. 将字符串char按fmt的格式转换   
  2. select to_date('2010-08-24','yyyy-mm-dd') from dual   
  3. 结果:  


25.ABS(N) 
  1. 的到N的绝对值   
  2. select abs(-6) from dual;   
  3. 结果:6  


26.CELL(n)  
  1. 得到大于或等于N的最大整数   
  2. select CELL(5.6) from dual   
  3. 结果:6  


27.COS(n)  
  1. 的到 N 的余弦值   
  2. select COS(1) from dual;   
  3. 结果:  


28.SIN(n)  
  1. 得到N的正弦值   
  2. 结果:  


29.COSH(n)  
  1. 的到N的双曲余弦值   
  2. select COSH(1) from dual   
  3. 结果:  


30.EXP(N)  
  1. 的到 N的e的N次幂   
  2. select exp(1) from dual   
  3. 结果:  


31.FLOOR(N)  
  1. 得到小于或等于的最小整数   
  2. select FLOOR(5.6) from dual;   
  3. 结果:5  


32.LN(N)  
  1. 得到N的自然对数   
  2. select LN(1) from dual   
  3. 结果:  


33.Log(M,N)  
  1. 得到以M为底N的对数   
  2. select log(2,8) from dual;   
  3. 结果:  


34.MOD(M,N)  
  1. 得到M除以N的余数   
  2. select MOD(100,7) from dual   
  3. 结果:2  


35.POWER(M,N)  
  1. 得到M的N次幂   
  2. select POWER(4,3) from dual   
  3. 结果:64  


36.ROUND(M,N)  
  1. 得到N舍入到小数点后的M位   
  2. select (78.876532,2) from dual   
  3. 结果:78.88  


37.SIGN(N)  
  1. select SIGN(99) from dual   
  2. 当N<0 时 返回 -1  
  3. 当N>0 时 返回 1  
  4. 当N=0 时 返回 0  
  5. 结果:  


38.SING(n)  
  1. 得到N的双曲线正弦值   
  2. select  SINH(1) from dual   
  3. 结果:  


39.SORT(N)  
  1. 得到N的平方根N>0  
  2. select sort(9) from dual   
  3. 结果:3  


40.TAN(N)  
  1. 得到N的正切值   
  2. select TAN(0) from dual   
  3. 结果:  


41.TANH(n)  
  1. 得到N的双曲线正切值   
  2. select TANH(0) from dual   
  3. 结果:  


42.TRUNC(N,M)  
  1. 得到在M位截断的N的值   
  2. select TRUNC(7.7788,2) from dual   
  3. 结果:7.77  


43.COUNT()  
  1. 计算满足条件的记录数   
  2. select count(*) from table where col1='AAA'  
  3. 结果:  


44.Max 
  1. 对指定的列求最大值   
  2. select MAX(col1) from table   
  3. 结果:  


45.Min
  1. 得到指定的列值的最小值   
  2. select min(col) from dual   
  3. 结果:  


46.AVG 
  1. 求平均值   
  2. select avg(col1) from table   
  3. 结果:  


47.SUM 
  1. 计算列的总和   
  2. select sum(col1) from dual   
  3. 结果:  


48.TO_NUMBER(char) 
  1. 将字符转换为数值   
  2. select TO_NUMBER('999') from dual;   
  3. 结果:999  


49.NVL(exp1,exp2) 
  1. 若exp1是null 则返回 exp2 否则返回 exp1   
  2. select  name,nvl(to_char(comm),'not application') from scott.emp   
  3. 结果:  
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值