虚拟表:dual 转大写 select UPPER('hellow') from dual; 转小写 select lower(ename) from emp; cmd 输入数据 select * from emp where ename = '&SMITH' 首字母大写,其他小写 select ename,INITCAP(ename) from emp; 取得字符串长度 orcal 所有从一开始 select LENGTH('hellow') from dual; 截取字符串 word select substr('helloword',6) from dual; 截取hellow select substr('helloword',0,6) from dual; orcal从后截取 select substr('helloword',-2) from dual; 四舍五入 ROUND SELECT ROUND(789.56712,2) from dual; 不设置位数取整: 790 SELECT ROUND(789.56712) from dual; 如果为负数,整数位四舍五入 800 SELECT ROUND(789.56712,-2) from dual; TRUNC 去位 789.56 SELECT TRUNC(789.56712,2) from dual; MOD求模 SELECT MOD(3,2) from dual; 当前日期 伪类 当前日期 SELECT SYSDATE FROM DUAL; 时间戳 SELECT SYSTIMESTAMP FROM DUAL; 日期+数字=日期(若干天之后) select sysDATE+7 from dual; 日期-数字=日期(若干天之前) select sysDATE-7 from dual; 日期-日期= 天数 增加月数,显示日期 select ADD_MONTHS(SYSDATE,4) from dual; 时间之间的月数 Select empno,MONTHS_BETWEEN(sysdate,hiredate) from emp; 当前月最后一天 SELECT LAST_DAY(SYSDATE) FROM dual; 前两天(最后一天) SELECT empno,ename,hiredate,last_day(hiredate)-2 from emp where hiredate=last_day(hiredate)-2 下一个星期三 SELECT NEXT_DAY(sysDATE,'星期三') from dual; 查看员工被录取了多少年多少月多少日 SELECT TRUNC(MONTHS_BETWEEN(sysDATE,hiredate)/12) as year, TRUNC(MOD(MONTHS_BETWEEN(sysDATE,hiredate),12)) as month, TRUNC(sysDATE-ADD_MONTHS(hiredate,MONTHS_BETWEEN(sysDATE,hiredate))) day, empno,ename,hiredate from emp 转字符串函数 日期:年(yyyy)、月(mm)、日(dd) 时间:时(hh、hh24)、分(mi)、秒(ss) 数字:任意数字(9)本地货币符号(L) 日期格式化: SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd') from dual; 格式化日期时间: SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh:mi:ss') from dual; 日期拆分 SELECT TO_CHAR(SYSDATE,'yyyy'),TO_CHAR(SYSDATE,'mm'),TO_CHAR(SYSDATE,'dd') from dual; 格式化数字: SELECT TO_CHAR(434343434343434,'L999,999,999,999,999') from dual; 转日期 SELECT to_Date('2019-01-20','yyyy-mm-dd') from dual; 转数字 SELECT '1'+'2' from dual; SELECT TO_CHAR(to_Date('2019-04-18','yyyy-mm-dd'),'yyyy-mm-dd hh:mi:ss') from dual; SELECT to_Date('2019-04-18','yyyy-mm-dd hh:mi:ss') from dual; 通用函数 处理空函数 NVL 取代空 select empno,ename,sal,comm,NVL(comm,0) from emp; decode 将数据展示自己的值 select ename,job,decode(job,'CLERK','业务员','SALESMAN','销售人员','---') from emp
浙公网安备 33010602011771号