(1)截取函数--TRUNC() 的用法
SELECT TRUNC(789.652) 截取小数, TRUNC(789.652,2) 截取两位小数, TRUNC(789.652,-2) 取整
FROM dual ;
(2)查询雇员编号,雇员姓名,雇佣日期:
没有使用截取函数TRUNC():
SELECT empno 雇员编号,ename 雇员姓名,hiredate 雇佣日期 ,
(MONTHS_BETWEEN(sysdate,hiredate)) 雇佣总月数,
(MONTHS_BETWEEN(sysdate,hiredate)/12) 雇佣总年数
FROM emp ;
注明:sysdate是当前系统的时间,hiredate是雇员被雇佣的时期。SELECT empno 雇员编号,ename 雇员姓名,hiredate 雇佣日期 ,英文字母后面的为别名。
使用了截取函数TRUNC();
SELECT empno 雇员编号,ename 雇员姓名,hiredate 雇佣日期 ,
TRUNC(MONTHS_BETWEEN(sysdate,hiredate)) 雇佣总月数,
TRUNC(MONTHS_BETWEEN(sysdate,hiredate)/12) 雇佣总年数
FROM emp ;
(3)查询emp表中1981年雇用的所有员工, 或者是1987年5月雇用的员工
语句一:
select * from emp
where hiredate between to_date('1981-1-1','yyyy-mm-dd')
and to_date('1981-12-31','yyyy-mm-dd')
or
hiredate between to_date('1987-5-1','yyyy-mm-dd')
and to_date('1987-5-31','yyyy-mm-dd')
;
语句二:
select * from emp
where to_char(hiredate,'yyyymmdd') like '1981%'
or to_char(hiredate,'yyyymmdd') like '198705%'
;
语句三:
select * from emp
where to_char(hiredate,'yyyymmdd') like '1981%'
or to_char(hiredate,'yyyymmdd') like '198705%'
;
(4)emp表中年份只显示年和月
select empno,ename,job,mgr,to_char(hiredate,'yyyy-mm'),sal,comm,deptno from emp;
注明:to_char是用来修改时间格式的。