函数
select upper/lower('sds') from dual; 大小写的转化.
select substr('what happened just now',5) from dual; 从第四个开始截取字符串.
select substr('what happened just now',5,9) from dual 截取字符串中5-9的字符.
select length('aaaa') from dual; 查询前面字符串的长度为多少.
select instr('whsb happened just now','st') from dual; 查询后面st在前面字符串中所在的位置. 他查询的是S的位置.加T是给它具体的信息.找到T前面那个S.而不是B前面那个S.
select round(192.168,0),round(192.268,1),round(192.168,2)round(192.168,-1)from dual; 四舍五入. -1时结果为190.也要四舍五入
select trunc(192.168,0),trunc(192.168,1),trunc(192.168,-1) from dual; 截取多少位.-1时为190.
select sysdate from dual; 获取当前系统的时间.
select trunc(sysdate,'yyyy') from dual; 截取一系列的时间.
select trunc(sysdate,'mm') from dual;
select trunc(sysdate,'d') from dual;
select trunc(sysdate,'dd') from dual;
select trunc(sysdate,'hh') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 将当前时间的格式改为字符型.
select systimestamp from dual; 查询系统时间. 包括微秒.时区.
select sysdate+1/-1 from dual; 当前日期加一天或者减一天.
select last_day(sysdate) from dual; 查询当前时间的最后天是多久.
select ename,round((sysdate-hireddate)/365) from emp; 查询工作了多久.
select ename,months_between(sysdate,hiredate) from emp; 查询在他入职到现在有多少个月.
select add_months(sysdate,10) from dual; 这里查询的是10个月后的今天.
select next_day(sysdate,'星期一') from dual; 这里就是下个星期一是什么时候.
select nullif('aa','aa'/'cc'); 这里就是判断他们是否相等,相等返回true不相等返回第一个.
select ename,sal,comm,coalesce(comm,sal) from emp; 先看comm是否为空.为空的话再看sal是否为空. 如果不是为空那就输出.