Oracle用的常用函数

  1.字符函数
    1. lower(argo) 将大写字符转换为小写字符
    2. upper(arg1) 将小写字符转化为大写
    3. initcap(arg1) 单词首字母大写
    4. dsubstr(arg0, arg1)  将arg0中的字符串从第arg1截取到最后(截取后的字符包括第arg1字符)
    5. substr(a,b,c) 将a 中的字符串从第b截取,截取长度为c
    6. lpad(a,b,c) 在a字符中向左填充b c个长度
    7 rpad(a,b,c) 在a字符中向右填充b c个长度
    8. trim(a from b) 在a字符串的两端取出b字符
    9. replace(a,b,c) 将a字符串中的b替换成c
  2. 数字函数
    1. mod(a,b) a对b取莫
    2. round(a,b) 注意:当b为正整数时则a保留两位小数,如果大于小数个数则返回原来的数字
       为o则返回整数,若b为负数则对小数前的正整数部分进行取舍。
    3. trunc(a,b) 截取,b为几则保存小数几位,若为负数则截取整数部分,从各位开始,截取后补零
  3. 日期函数
    1. to_char(sysdate [,b]) 将时间转换为字符串,可以指定转换后的格式
       eg:select to_char(sysdate,'yyyy-MM-dd hh24:mi:ss') from dual
    2. systemstamp 显示时间戳
    3. sysdate-1 时间可以做加减这里默认加的是一天
eg:select to_char(sysdate-1) from dual;
    4. months_between(a,b) 计算两个时间的差值
    5. add_months(a,b) 在a日期上加上b个月
    7. last_day(a); a时间所月的最后一天对应的日期
    8. next_day(a,b)在a日期的下一个b时间的日期
       eg: select next_day(sysdate,'星期一') from dual
    9. round(a,b) 在a日期的范围内取b的大约值,
       eg:select round(sysdate ,'year') from dual 结果01-1月 -13 ,b可取值:year、month.....
    10. trunc(a,b) 在a日期中截取b的范围 b可取值year、month....


  4. 转换函数
    1. to_char() 将其他类型转换为字符串
    2. to_date() 将字符串转换为date类型:注意:必须符合Oracle的date格式


  5. 通用函数
    1. nvl(a,b); 如果a为null则返回b,若不为null则返回a
    2. nvl2(a,b,c) 如果a为null返回c,不为null返回b
    3. nullif(a,b) 如果a=b则返回空,否则返回a
    4. coalesce(a,b,c,d....) 从左到右返回字一个不为null的值
    5. wm_concat()行转列
 6. 条件表达式
    1. case(expre)
       eg: select ename,job,sal 涨前, case job when 'PRESIDENT' then sal+1000
  when 'MANAGER' then sal+800
  else sal+400
  end 涨后
  from emp;
     2. decode(a0
a,c
a1,c1
a2, c2
d)
        from emp; 如果a0=a则翻译c,如果a0=a1则返回c1,如果a0=a2则返回c2,如果都不等则返回d
发布了34 篇原创文章 · 获赞 9 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章