`
Luob.
  • 浏览: 1572665 次
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 常用函数

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


49.NVL(exp1,exp2) 
若exp1是null 则返回 exp2 否则返回 exp1
select  name,nvl(to_char(comm),'not application') from scott.emp
结果:

50.WM_CONCAT 
select WM_CONCAT(tagname) from bi_thread_tags
2
8
分享到:
评论
5 楼 Luob. 2012-08-31  
lsjinpeng 写道
Luob. 写道
lsjinpeng 写道
擦...好多打错字的地方

刚找了下 看到一个了 不知道还有其他的没有

有几个,from ceil

看到了一个from 和 两个 ceil 谢了
4 楼 lsjinpeng 2012-08-31  
Luob. 写道
lsjinpeng 写道
擦...好多打错字的地方

刚找了下 看到一个了 不知道还有其他的没有

有几个,from ceil
3 楼 Luob. 2012-08-31  
lsjinpeng 写道
擦...好多打错字的地方

刚找了下 看到一个了 不知道还有其他的没有
2 楼 lsjinpeng 2012-08-31  
擦...好多打错字的地方
1 楼 bbbbb1202 2012-08-31  
还不错,有点用

相关推荐

Global site tag (gtag.js) - Google Analytics