Oracle 常用函数

  • CONCAT 连接两个字符串;
select concat('010-',88888888)||'转123' from dual;
  • INITCAP返回字符串并将字符串的第一个字母变为大写;
select initcap('smith') from dual;
  • LENGTH返回字符串的长度
select ename, length(ename) from emp;
  • LOWER 返回字符串,并将所有的字符小写;
select lower('AaBbCcDd') from dual;
  • UPPER 返回字符串,并将所有的字符大写
select upper('AaBbCcDd') from dual;
  • SUBSTR(string,start,count) 取子字符串,start开始,count
select substr(13088888888,3,8) from dual;
  • REPLACE(string,s1,s2) ,string 希望被替换的字符或变量,s1 被替换的字符串,s2 要替换的字符串 
select replace('he love you','he','i') from dual; 
  • MOD(n1,n2) ,返回一个n1除以n2的余数 
select mod(10,3),mod(3,3),mod(2,3) from dual; 
  • ROUND 按照指定的精度进行舍入
select round(55.5),round(-55.5) from dual; 
  • TRUNC 按照指定的精度截取一个数
select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual; 
  • ADD_MONTHS 增加或减去月份
select to_char(add_months(to_date(199912,'yyyymm'),2),'yyyymm') from dual; 
select to_char(add_months(to_date(199912,'yyyymm'),-2),'yyyymm') from dual;
  • LAST_DAY 返回日期的最后一天
select last_day(sysdate) from dual; 
  • MONTHS_BETWEEN(date2,date1) ,date2-date1的月份 
select months_between(sysdate, to_date('20170101', 'yyyymmdd')) mon_between from dual;
  • SYSDATE 系统的当前日期
select to_char(sysdate, 'dd-mm-yyyy') from dual; 
  • TO_CHAR(date,format) 
select to_char(sysdate, 'yyyy/mm/dd hh24:mi:ss') from dual; 
  • TO_DATE(string,format)将字符串转化为ORACLE中的一个日期 
select to_date('2017-01-01', 'yyyy-mm-dd') from dual;
  • TO_NUMBER 将给出的字符转换为数字
select to_number('1999') from dual;
  • NVL(expr1, expr2)->expr1NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致 
  • CASE语句
select ename ,case  when ename='SMITH' then 0 else 1 end from emp; 




没有高深的知识,没有进阶的技巧,万丈高楼平地起~!

原文地址:https://www.cnblogs.com/aaron911/p/7773811.html