Oracle笔记(1)--emp表查询(1)

(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是用来修改时间格式的。

猜你喜欢

转载自www.cnblogs.com/hmy-666/p/11776302.html