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)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
- CASE语句
select ename ,case when ename='SMITH' then 0 else 1 end from emp;
没有高深的知识,没有进阶的技巧,万丈高楼平地起~!