Oracle常用函数整理

功能函数:
1.nvl(字段,表达式)     如果某个字段的值为null就用后面的表达式替换
2.nvl2(exp1,exp2,exp3)  当表达式1为null时,返回表达式3,否则返回表达式2
3.nullif(exp1,exp2)    当exp1=exp2时,返回null,当exp1!=exp2时,返回exp1
4.coalesce(exp1,exp2,..)从左往右,找到第一个不为null的值
5.decode(condition,rs1,a,rs2,b,rs3,c,d)  当condition结果为rs1,返回a,rs2,返回b,rs3,返回c,其他,返回d
6.rollup(exp1,exp2,..)
7.cube(expe1,exp2,..)
8.cast(expr as type_name)  把expr转换成type_name类型
9.to_char(n,[fmt[,nlsparam]]) 把n按照fmt的格式转换成字符
10.to_date(n,[fmt[,nlsparam]])把n按照fmt的格式转换成date
11.to_number(n,[fmt[,nlsparam]])   将字符串转换成数字



字符函数:
1.lower(表达式)            转换成小写
2.upper(表达式)            转换成大写
3.initcap(表达式)          首字母大写
4.substr(str,index)        从index位置开始截取str
5.substr(str,index,count)  从index位置开始截取str,并截取count个字符
6.instr(source,target,position,occurence)     从source中插座target,并返回target在source第一次出现的位置,position为开始搜索的位置,如果为负数,则从右向左搜索
7.length(str)              返回str的字符数
8.lengthb(str)             返回str的字节数
9.lpad(str1,count,str2)    向str1的左面添加count个str2
10.rpad(str1,count,str2)   向str1的右面添加count个str2
11.trim(str1 from str2)    从str2的两端去掉str1
12.replase(scorce,target,str)  把source中的target用str替换
13.round(number1,index)    四舍五入  
   select round(45.926,2) 一, round(45.926,1) 二,round(45.926,0) 三,round(45.926,-1) 四, round(45.926,-2) 五 from dual;
14.concat(表达式1,表达式2)   连接表达式1与表达式2
   一         二         三         四         五
  ----- ---------- ---------- ---------- ----------
  45.93       45.9         46         50          0
15.chr(n)                   将制定的ascii码转换成字符串
16.ascii(char)              将指定的字符串转换成对应的ascii吗
17.rtrim(char,str)          从char的右面删除str
18.ltrim(char,str)          从char的左面删除str 
19.nls_charset_id(charsetname)   通过字符集名称得到字符集id
20.nls_charset_name(id)          通过字符集id得到字符集名称


时间函数:[sysdate,systimestamp,dbtimezone]
1.add_months(date,count)   在date的基础上添加count月
2.last_day(date)           查询date所属月份的最后一天的日期
3.next_day(date,target_date)  从date开始算起,下一个target_date的日期
  例如:下一个星期三
  select next_day(sysdate,'星期三') from dual;
  NEXT_DAY(S
  ----------
  2014-06-11
4.extract(datetime)         从datetime中提取出年、月、日、时、分、秒
  例如:
   select extract(year from sysdate) Y,
        extract(month from sysdate) M,
        extract(day from sysdate) D,
        extract(hour from systimestamp) H,
        extract(minute from systimestamp) M,
        extract(second from systimestamp) S
  from dual;

        Y          M          D          H          M          S
   ------ ---------- ---------- ---------- ---------- ----------
     2014          6          7          9         58      1.625  
5.months_between(date1,date2)  得到两个日期之间的月份差(date1>date2时,返回正数,否则返回负数)


数值函数:
1.sum(exp)       求和
2.count()        总记录数(对null值无效)
3.avg(exp)       求平均值
4.abs(n)         求绝对值(可接受可以转换成数据的数据如'100')
5.mod(n1,n2)     求n1/n2的余数(n1,n2可以是能够隐士转换成数据的数据)
6.sign(n)        判断n是整数,负数,0.分别返回1,-1,0 
7.bin_to_num(d1,d2,d3..) 把二进制数转换成十进制数(d1,d2,d3为0或1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值